|
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