8000 Add new handler for anonymous query link invoke (#2184) · DEXTERBP/botbuilder-python@a9298c8 · GitHub
[go: up one dir, main page]

Skip to content

Commit a9298c8

Browse files
Add new handler for anonymous query link invoke (microsoft#2184)
Co-authored-by: tracyboehrer <tracyboehrer@users.noreply.github.com>
1 parent a74532b commit a9298c8

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

libraries/botbuilder-core/botbuilder/core/teams/teams_activity_handler.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,16 @@ async def on_invoke_activity(self, turn_context: TurnContext) -> InvokeResponse:
9090
)
9191
)
9292

93+
if turn_context.activity.name == "composeExtension/anonymousQueryLink":
94+
return self._create_invoke_response(
95+
await self.on_teams_anonymous_app_based_link_query(
96+
turn_context,
97+
deserializer_helper(
98+
AppBasedLinkQuery, turn_context.activity.value
99+
),
100+
)
101+
)
102+
93103
if turn_context.activity.name == "composeExtension/query":
94104
return self._create_invoke_response(
95105
await self.on_teams_messaging_extension_query(
@@ -331,6 +341,19 @@ async def on_teams_app_based_link_query( # pylint: disable=unused-argument
331341
"""
332342
raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED)
333343

344+
async def on_teams_anonymous_app_based_link_query( # pylint: disable=unused-argument
345+
self, turn_context: TurnContext, query: AppBasedLinkQuery
346+
) -> MessagingExtensionResponse:
347+
"""
348+
Invoked when an anonymous app based link query activity is received from the connector.
349+
350+
:param turn_context: A context object for this turn.
351+
:param query: The invoke request body type for app-based link query.
352+
353+
:returns: The Messaging Extension Response for the query.
354+
"""
355+
raise _InvokeResponseException(status_code=HTTPStatus.NOT_IMPLEMENTED)
356+
334357
async def on_teams_messaging_extension_query( # pylint: disable=unused-argument
335358
self, turn_context: TurnContext, query: MessagingExtensionQuery
336359
) -> MessagingExtensionResponse:

libraries/botbuilder-core/tests/teams/test_teams_activity_handler.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,14 @@ async def on_teams_messaging_extension_query(
220220
self.record.append("on_teams_messaging_extension_query")
221221
return await super().on_teams_messaging_extension_query(turn_context, query)
222222

223+
async def on_teams_anonymous_app_based_link_query(
224+
self, turn_context: TurnContext, query: AppBasedLinkQuery
225+
):
226+
self.record.append("on_teams_anonymous_app_based_link_query")
227+
return await super().on_teams_anonymous_app_based_link_query(
228+
turn_context, query
229+
)
230+
223231
async def on_teams_messaging_extension_submit_action_dispatch(
224232
self, turn_context: TurnContext, action: MessagingExtensionAction
225233
):
@@ -837,6 +845,25 @@ async def test_on_app_based_link_query(self):
837845
assert bot.record[0] == "on_invoke_activity"
838846
assert bot.record[1] == "on_teams_messaging_extension_query"
839847

848+
async def test_compose_extension_anonymous_query_link(self):
849+
# arrange
850+
activity = Activity(
851+
type=ActivityTypes.invoke,
852+
name="composeExtension/anonymousQueryLink",
853+
value={"url": "http://www.test.com"},
854+
)
855+
856+
turn_context = TurnContext(SimpleAdapter(), activity)
857+
858+
# Act
859+
bot = TestingTeamsActivityHandler()
860+
await bot.on_turn(turn_context)
861+
862+
# Assert
863+
assert len(bot.record) == 2
864+
assert bot.record[0] == "on_invoke_activity"
865+
assert bot.record[1] == "on_teams_anonymous_app_based_link_query"
866+
840867
async def test_on_teams_messaging_extension_bot_message_preview_edit_activity(self):
841868
# Arrange
842869

0 commit comments

Comments
 (0)
0