From d7ff8098a9aeca008e1068c92636b38539a2bca6 Mon Sep 17 00:00:00 2001 From: virtual-josh Date: Tue, 14 Jul 2020 11:25:02 -0700 Subject: [PATCH] saving tests so far adding tests to teams info black and pylint removing duplicate method --- .../tests/teams/test_teams_info.py | 169 ++++++++++++++++-- 1 file changed, 158 insertions(+), 11 deletions(-) diff --git a/libraries/botbuilder-core/tests/teams/test_teams_info.py b/libraries/botbuilder-core/tests/teams/test_teams_info.py index 0b1f707b1..9ddc5662c 100644 --- a/libraries/botbuilder-core/tests/teams/test_teams_info.py +++ b/libraries/botbuilder-core/tests/teams/test_teams_info.py @@ -6,11 +6,26 @@ from botbuilder.core import TurnContext, MessageFactory from botbuilder.core.teams import TeamsInfo, TeamsActivityHandler -from botbuilder.schema import Activity -from botbuilder.schema.teams import TeamsChannelData, TeamInfo -from botframework.connector import Channels +from botbuilder.schema import ( + Activity, + ChannelAccount, + ConversationAccount, +) from simple_adapter_with_create_conversation import SimpleAdapterWithCreateConversation +ACTIVITY = Activity( + id="1234", + type="message", + text="test", + from_property=ChannelAccount(id="user", name="User Name"), + recipient=ChannelAccount(id="bot", name="Bot Name"), + conversation=ConversationAccount(id="convo", name="Convo Name"), + channel_data={"channelData": {}}, + channel_id="UnitTest", + locale="en-us", + service_url="https://example.org", +) + class TestTeamsInfo(aiounittest.AsyncTestCase): async def test_send_message_to_teams_channels_without_activity(self): @@ -41,17 +56,149 @@ def create_conversation(): call_create_conversation=create_conversation ) - activity = Activity( - type="message", - text="test_send_message_to_teams_channel", - channel_id=Channels.ms_teams, - service_url="https://example.org", - channel_data=TeamsChannelData(team=TeamInfo(id="team-id")), - ) - turn_context = TurnContext(adapter, activity) + turn_context = TurnContext(adapter, ACTIVITY) handler = TestTeamsActivityHandler() await handler.on_turn(turn_context) + async def test_send_message_to_teams_channels_without_turn_context(self): + try: + await TeamsInfo.send_message_to_teams_channel( + None, ACTIVITY, "channelId123" + ) + except ValueError: + pass + else: + assert False, "should have raise ValueError" + + async def test_send_message_to_teams_channels_without_teams_channel_id(self): + def create_conversation(): + pass + + adapter = SimpleAdapterWithCreateConversation( + call_create_conversation=create_conversation + ) + + turn_context = TurnContext(adapter, ACTIVITY) + + try: + await TeamsInfo.send_message_to_teams_channel(turn_context, ACTIVITY, "") + except ValueError: + pass + else: + assert False, "should have raise ValueError" + + async def test_send_message_to_teams_channel_works(self): + adapter = SimpleAdapterWithCreateConversation() + + turn_context = TurnContext(adapter, ACTIVITY) + result = await TeamsInfo.send_message_to_teams_channel( + turn_context, ACTIVITY, "teamId123" + ) + assert result[0].activity_id == "new_conversation_id" + assert result[1] == "reference123" + + async def test_get_team_details_works_without_team_id(self): + adapter = SimpleAdapterWithCreateConversation() + ACTIVITY.channel_data = {} + turn_context = TurnContext(adapter, ACTIVITY) + result = TeamsInfo.get_team_id(turn_context) + + assert result == "" + + async def test_get_team_details_works_with_team_id(self): + adapter = SimpleAdapterWithCreateConversation() + team_id = "teamId123" + ACTIVITY.channel_data = {"team": {"id": team_id}} + turn_context = TurnContext(adapter, ACTIVITY) + result = TeamsInfo.get_team_id(turn_context) + + assert result == team_id + + async def test_get_team_details_without_team_id(self): + def create_conversation(): + pass + + adapter = SimpleAdapterWithCreateConversation( + call_create_conversation=create_conversation + ) + + turn_context = TurnContext(adapter, ACTIVITY) + + try: + await TeamsInfo.get_team_details(turn_context) + except TypeError: + pass + else: + assert False, "should have raise TypeError" + + async def test_get_team_channels_without_team_id(self): + def create_conversation(): + pass + + adapter = SimpleAdapterWithCreateConversation( + call_create_conversation=create_conversation + ) + + turn_context = TurnContext(adapter, ACTIVITY) + + try: + await TeamsInfo.get_team_channels(turn_context) + except TypeError: + pass + else: + assert False, "should have raise TypeError" + + async def test_get_paged_team_members_without_team_id(self): + def create_conversation(): + pass + + adapter = SimpleAdapterWithCreateConversation( + call_create_conversation=create_conversation + ) + + turn_context = TurnContext(adapter, ACTIVITY) + + try: + await TeamsInfo.get_paged_team_members(turn_context) + except TypeError: + pass + else: + assert False, "should have raise TypeError" + + async def test_get_team_members_without_team_id(self): + def create_conversation(): + pass + + adapter = SimpleAdapterWithCreateConversation( + call_create_conversation=create_conversation + ) + + turn_context = TurnContext(adapter, ACTIVITY) + + try: + await TeamsInfo.get_team_member(turn_context) + except TypeError: + pass + else: + assert False, "should have raise TypeError" + + async def test_get_team_members_without_member_id(self): + def create_conversation(): + pass + + adapter = SimpleAdapterWithCreateConversation( + call_create_conversation=create_conversation + ) + + turn_context = TurnContext(adapter, ACTIVITY) + + try: + await TeamsInfo.get_team_member(turn_context, "teamId123") + except TypeError: + pass + else: + assert False, "should have raise TypeError" + class TestTeamsActivityHandler(TeamsActivityHandler): async def on_turn(self, turn_context: TurnContext):