8000 Do NOT call TeamsInfo.get_member for the bot (#1066) · ericmicrofocus/botbuilder-python@eacac2d · GitHub
[go: up one dir, main page]

Skip to content

Commit eacac2d

Browse files
author
Eric Dahlvang
committed
Do NOT call TeamsInfo.get_member for the bot (microsoft#1066)
* Do not call TeamsInfo.get_member for the bot * fix botid for test
1 parent 3a242b1 commit eacac2d

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,11 @@ async def on_teams_members_added_dispatch( # pylint: disable=unused-argument
350350

351351
team_members_added = []
352352
for member in members_added:
353-
if member.additional_properties != {}:
353+
is_bot = (
354+
turn_context.activity.recipient is not None
355+
and member.id == turn_context.activity.recipient.id
356+
)
357+
if member.additional_properties != {} or is_bot:
354358
team_members_added.append(
355359
deserializer_helper(TeamsChannelAccount, member)
356360
)

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

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,38 @@ async def test_on_teams_members_added_activity(self):
385385
assert bot.record[0] == "on_conversation_update_activity"
386386
assert bot.record[1] == "on_teams_members_added"
387387

388+
async def test_bot_on_teams_members_added_activity(self):
389+
# arrange
390+
activity = Activity(
391+
recipient=ChannelAccount(id="botid"),
392+
type=ActivityTypes.conversation_update,
393+
channel_data={
394+
"eventType": "teamMemberAdded",
395+
"team": {"id": "team_id_1", "name": "new_team_name"},
396+
},
397+
members_added=[
398+
ChannelAccount(
399+
id="botid",
400+
name="test_user",
401+
aad_object_id="asdfqwerty",
402+
role="tester",
403+
)
404+
],
405+
channel_id=Channels.ms_teams,
406+
conversation=ConversationAccount(id="456"),
407+
)
408+
409+
turn_context = TurnContext(SimpleAdapter(), activity)
410+
411+
# Act
412+
bot = TestingTeamsActivityHandler()
413+
await bot.on_turn(turn_context)
414+
415+
# Assert
416+
assert len(bot.record) == 2
417+
assert bot.record[0] == "on_conversation_update_activity"
418+
assert bot.record[1] == "on_teams_members_added"
419+
388420
async def test_on_teams_members_removed_activity(self):
389421
# arrange
390422
activity = Activity(

0 commit comments

Comments
 (0)
0