diff --git a/libraries/botbuilder-core/botbuilder/core/teams/teams_activity_handler.py b/libraries/botbuilder-core/botbuilder/core/teams/teams_activity_handler.py index 30035ae34..ff7b3b1b8 100644 --- a/libraries/botbuilder-core/botbuilder/core/teams/teams_activity_handler.py +++ b/libraries/botbuilder-core/botbuilder/core/teams/teams_activity_handler.py @@ -16,8 +16,11 @@ TeamsChannelAccount, MessagingExtensionAction, MessagingExtensionQuery, + MessagingExtensionActionResponse, + MessagingExtensionResponse, O365ConnectorCardActionQuery, TaskModuleRequest, + TaskModuleResponse, ) from botframework.connector import Channels @@ -49,7 +52,7 @@ async def on_turn(self, turn_context: TurnContext): await super().on_turn(turn_context) - async def on_invoke_activity(self, turn_context: TurnContext): + async def on_invoke_activity(self, turn_context: TurnContext) -> InvokeResponse: try: if ( not turn_context.activity.name @@ -171,7 +174,9 @@ async def on_invoke_activity(self, turn_context: TurnContext): except _InvokeResponseException as err: return err.create_invoke_response() - async def on_teams_card_action_invoke_activity(self, turn_context: TurnContext): + async def on_teams_card_action_invoke_activity( + self, turn_context: TurnContext + ) -> InvokeResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_signin_verify_state(self, turn_context: TurnContext): @@ -181,7 +186,7 @@ async def on_teams_file_consent( self, turn_context: TurnContext, file_consent_card_response: FileConsentCardResponse, - ): + ) -> InvokeResponse: if file_consent_card_response.action == "accept": await self.on_teams_file_consent_accept_activity( turn_context, file_consent_card_response @@ -220,22 +225,22 @@ async def on_teams_o365_connector_card_action( # pylint: disable=unused-argumen async def on_teams_app_based_link_query( # pylint: disable=unused-argument self, turn_context: TurnContext, query: AppBasedLinkQuery - ): + ) -> MessagingExtensionResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_messaging_extension_query( # pylint: disable=unused-argument self, turn_context: TurnContext, query: MessagingExtensionQuery - ): + ) -> MessagingExtensionResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_messaging_extension_select_item( # pylint: disable=unused-argument self, turn_context: TurnContext, query - ): + ) -> MessagingExtensionResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_messaging_extension_submit_action_dispatch( self, turn_context: TurnContext, action: MessagingExtensionAction - ): + ) -> MessagingExtensionActionResponse: if not action.bot_message_preview_action: return await self.on_teams_messaging_extension_submit_action_activity( turn_context, action @@ -247,7 +252,7 @@ async def on_teams_messaging_extension_submit_action_dispatch( ) if action.bot_message_preview_action == "send": - return await self.on_teams_messaging_extension_bot_message_send_activity( + return await self.on_teams_messaging_extension_bot_message_preview_send_activity( turn_context, action ) @@ -258,27 +263,27 @@ async def on_teams_messaging_extension_submit_action_dispatch( async def on_teams_messaging_extension_bot_message_preview_edit_activity( # pylint: disable=unused-argument self, turn_context: TurnContext, action - ): + ) -> MessagingExtensionActionResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) - async def on_teams_messaging_extension_bot_message_send_activity( # pylint: disable=unused-argument + async def on_teams_messaging_extension_bot_message_preview_send_activity( # pylint: disable=unused-argument self, turn_context: TurnContext, action - ): + ) -> MessagingExtensionActionResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_messaging_extension_submit_action_activity( # pylint: disable=unused-argument self, turn_context: TurnContext, action: MessagingExtensionAction - ): + ) -> MessagingExtensionActionResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_messaging_extension_fetch_task( # pylint: disable=unused-argument self, turn_context: TurnContext, action: MessagingExtensionAction - ): + ) -> MessagingExtensionActionResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_messaging_extension_configuration_query_settings_url( # pylint: disable=unused-argument self, turn_context: TurnContext, query: MessagingExtensionQuery - ): + ) -> MessagingExtensionResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_messaging_extension_configuration_setting( # pylint: disable=unused-argument @@ -293,12 +298,12 @@ async def on_teams_messaging_extension_card_button_clicked( # pylint: disable=u async def on_teams_task_module_fetch( # pylint: disable=unused-argument self, turn_context: TurnContext, task_module_request: TaskModuleRequest - ): + ) -> TaskModuleResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_teams_task_module_submit( # pylint: disable=unused-argument self, turn_context: TurnContext, task_module_request: TaskModuleRequest - ): + ) -> TaskModuleResponse: raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED) async def on_conversation_update_activity(self, turn_context: TurnContext): diff --git a/libraries/botbuilder-core/tests/teams/test_teams_activity_handler.py b/libraries/botbuilder-core/tests/teams/test_teams_activity_handler.py index f65a861d5..d9eabcb68 100644 --- a/libraries/botbuilder-core/tests/teams/test_teams_activity_handler.py +++ b/libraries/botbuilder-core/tests/teams/test_teams_activity_handler.py @@ -171,11 +171,13 @@ async def on_teams_messaging_extension_bot_message_preview_edit_activity( turn_context, action ) - async def on_teams_messaging_extension_bot_message_send_activity( + async def on_teams_messaging_extension_bot_message_preview_send_activity( self, turn_context: TurnContext, action: MessagingExtensionAction ): - self.record.append("on_teams_messaging_extension_bot_message_send_activity") - return await super().on_teams_messaging_extension_bot_message_send_activity( + self.record.append( + "on_teams_messaging_extension_bot_message_preview_send_activity" + ) + return await super().on_teams_messaging_extension_bot_message_preview_send_activity( turn_context, action ) @@ -531,7 +533,10 @@ async def test_on_teams_messaging_extension_bot_message_send_activity(self): 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_send_activity" + assert ( + bot.record[2] + == "on_teams_messaging_extension_bot_message_preview_send_activity" + ) async def test_on_teams_messaging_extension_bot_message_send_activity_with_none( self,