From 489d54729d233565813785ea7e4bc2e38a96de22 Mon Sep 17 00:00:00 2001 From: Ram Page <38049078+rampaged@users.noreply.github.com> Date: Fri, 26 Jan 2024 07:20:13 -0800 Subject: [PATCH] Ensure Connector Client is retrieved in teams_info.py (#2062) * Ensure Connector Client is retrieved in teams_info.py * Revert changes in cloud_adapter.py * Ensure Connector Client is retrieved in teams_info.py * Fixed teams member added test with mock ConnectorClient --------- Co-authored-by: tracyboehrer --- .../botbuilder/core/teams/teams_info.py | 11 ++++++++--- .../tests/teams/test_teams_activity_handler.py | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libraries/botbuilder-core/botbuilder/core/teams/teams_info.py b/libraries/botbuilder-core/botbuilder/core/teams/teams_info.py index 3226cb053..1748aff0f 100644 --- a/libraries/botbuilder-core/botbuilder/core/teams/teams_info.py +++ b/libraries/botbuilder-core/botbuilder/core/teams/teams_info.py @@ -10,7 +10,7 @@ teams_get_meeting_info, teams_get_channel_data, ) -from botbuilder.core import CloudAdapterBase, BotFrameworkAdapter, TurnContext +from botbuilder.core import CloudAdapterBase, BotFrameworkAdapter, TurnContext, BotAdapter from botbuilder.schema import Activity, ConversationParameters, ConversationReference from botbuilder.schema.teams import ( ChannelInfo, @@ -318,10 +318,15 @@ def get_team_id(turn_context: TurnContext): @staticmethod async def _get_connector_client(turn_context: TurnContext) -> ConnectorClient: - return await turn_context.adapter.create_connector_client( - turn_context.activity.service_url + connector_client = turn_context.turn_state.get( + BotAdapter.BOT_CONNECTOR_CLIENT_KEY ) + if connector_client is None: + raise ValueError('This method requires a connector client.') + + return connector_client + @staticmethod async def _get_members( connector_client: ConnectorClient, conversation_id: str 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 69273b27c..15df4b9a2 100644 --- a/libraries/botbuilder-core/tests/teams/test_teams_activity_handler.py +++ b/libraries/botbuilder-core/tests/teams/test_teams_activity_handler.py @@ -592,6 +592,9 @@ async def test_on_teams_members_added_activity(self): turn_context = TurnContext(SimpleAdapter(), activity) + mock_connector_client = await SimpleAdapter.create_connector_client(self, turn_context.activity.service_url) + turn_context.turn_state[BotAdapter.BOT_CONNECTOR_CLIENT_KEY] = mock_connector_client + # Act bot = TestingTeamsActivityHandler() await bot.on_turn(turn_context)