async def test_on_app_based_link_query(self): # arrange activity = Activity( type=ActivityTypes.invoke, name="composeExtension/query", value={"url": "http://www.test.com"}, ) turn_context = TurnContext(SimpleAdapter(), activity) # Act bot = TestingTeamsActivityHandler() await bot.on_turn(turn_context) # Assert assert len(bot.record) == 2 assert bot.record[0] == "on_invoke_activity" assert bot.record[1] == "on_teams_messaging_extension_query"
async def test_on_file_consent_bad_action_activity(self): # Arrange activity = Activity( type=ActivityTypes.invoke, name="fileConsent/invoke", value={"action": "bad_action"}, ) turn_context = TurnContext(SimpleAdapter(), activity) # Act bot = TestingTeamsActivityHandler() await bot.on_turn(turn_context) # Assert assert len(bot.record) == 2 assert bot.record[0] == "on_invoke_activity" assert bot.record[1] == "on_teams_file_consent"
async def test_on_teams_messaging_extension_card_button_clicked(self): # Arrange activity = Activity( type=ActivityTypes.invoke, name="composeExtension/onCardButtonClicked", value={"key": "value"}, ) turn_context = TurnContext(SimpleAdapter(), activity) # Act bot = TestingTeamsActivityHandler() await bot.on_turn(turn_context) # Assert assert len(bot.record) == 2 assert bot.record[0] == "on_invoke_activity" assert bot.record[1] == "on_teams_messaging_extension_card_button_clicked"
async def test_on_teams_o365_connector_card_action(self): # arrange activity = Activity( type=ActivityTypes.invoke, name="actionableMessage/executeAction", value={"body": "body_here", "actionId": "action_id_here"}, ) turn_context = TurnContext(SimpleAdapter(), activity) # Act bot = TestingTeamsActivityHandler() await bot.on_turn(turn_context) # Assert assert len(bot.record) == 2 assert bot.record[0] == "on_invoke_activity" assert bot.record[1] == "on_teams_o365_connector_card_action"
async def test_on_teams_task_module_submit(self): # Arrange activity = Activity( type=ActivityTypes.invoke, name="task/submit", value={ "data": {"key": "value"}, "context": TaskModuleRequestContext().serialize(), }, ) turn_context = TurnContext(SimpleAdapter(), activity) # Act bot = TestingTeamsActivityHandler() await bot.on_turn(turn_context) # Assert assert len(bot.record) == 2 assert bot.record[0] == "on_invoke_activity" assert bot.record[1] == "on_teams_task_module_submit"
async def test_on_teams_messaging_extension_bot_message_preview_edit_activity( self): # Arrange activity = Activity( type=ActivityTypes.invoke, name="composeExtension/submitAction", value={ "data": { "key": "value" }, "context": { "theme": "dark" }, "commandId": "test_command", "commandContext": "command_context_test", "botMessagePreviewAction": "edit", "botActivityPreview": [{ "id": "activity123" }], "messagePayload": { "id": "payloadid" }, }, ) turn_context = TurnContext(SimpleAdapter(), activity) # Act bot = TestingTeamsActivityHandler() await bot.on_turn(turn_context) # Assert assert len(bot.record) == 3 assert bot.record[0] == "on_invoke_activity" assert bot.record[ 1] == "on_teams_messaging_extension_submit_action_dispatch" assert bot.record[ 2] == "on_teams_messaging_extension_bot_message_preview_edit"
def test_adapter_use_chaining(self): adapter = SimpleAdapter() adapter.use(CallCountingMiddleware()).use(CallCountingMiddleware())
def test_adapter_single_use(self): adapter = SimpleAdapter() adapter.use(CallCountingMiddleware())