|
1 | 1 | # Copyright (c) Microsoft Corporation. All rights reserved. |
2 | 2 | # Licensed under the MIT License. |
3 | 3 |
|
| 4 | +from typing import Callable, List |
4 | 5 | import aiounittest |
5 | 6 |
|
6 | 7 | from botbuilder.schema import ( |
7 | 8 | Activity, |
| 9 | + ActivityTypes, |
8 | 10 | ChannelAccount, |
9 | 11 | ConversationAccount, |
10 | 12 | Mention, |
@@ -33,7 +35,7 @@ async def send_activities(self, context, activities): |
33 | 35 | assert activities |
34 | 36 | for (idx, activity) in enumerate(activities): # pylint: disable=unused-variable |
35 | 37 | assert isinstance(activity, Activity) |
36 | | - assert activity.type == "message" |
| 38 | + assert activity.type == "message" or activity.type == ActivityTypes.trace |
37 | 39 | responses.append(ResourceResponse(id="5678")) |
38 | 40 | return responses |
39 | 41 |
|
@@ -319,3 +321,28 @@ def test_should_remove_at_mention_from_activity(self): |
319 | 321 |
|
320 | 322 | assert text, " test activity" |
321 | 323 | assert activity.text, " test activity" |
| 324 | + |
| 325 | + async def test_should_send_a_trace_activity(self): |
| 326 | + context = TurnContext(SimpleAdapter(), ACTIVITY) |
| 327 | + called = False |
| 328 | + |
| 329 | + # pylint: disable=unused-argument |
| 330 | + async def aux_func( |
| 331 | + ctx: TurnContext, activities: List[Activity], next: Callable |
| 332 | + ): |
| 333 | + nonlocal called |
| 334 | + called = True |
| 335 | + assert isinstance(activities, list), "activities not array." |
| 336 | + assert len(activities) == 1, "invalid count of activities." |
| 337 | + assert activities[0].type == ActivityTypes.trace, "type wrong." |
| 338 | + assert activities[0].name == "name-text", "name wrong." |
| 339 | + assert activities[0].value == "value-text", "value worng." |
| 340 | + assert activities[0].value_type == "valueType-text", "valeuType wrong." |
| 341 | + assert activities[0].label == "label-text", "label wrong." |
| 342 | + return [] |
| 343 | + |
| 344 | + context.on_send_activities(aux_func) |
| 345 | + await context.send_trace_activity( |
| 346 | + "name-text", "value-text", "valueType-text", "label-text" |
| 347 | + ) |
| 348 | + assert called |
0 commit comments