def test_add_participants(self):
        thread_id = "19:[email protected]"
        new_participant_id = "8:acs:57b9bac9-df6c-4d39-a73b-26e944adf6ea_9b0110-08007f1041"
        raised = False

        def mock_send(*_, **__):
            return mock_response(status_code=201)

        chat_thread_client = ChatThreadClient("https://endpoint",
                                              TestChatThreadClient.credential,
                                              thread_id,
                                              transport=Mock(send=mock_send))

        new_participant = ChatThreadParticipant(
            user=CommunicationUserIdentifier(new_participant_id),
            display_name='name',
            share_history_time=datetime.utcnow())
        participants = [new_participant]

        try:
            result = chat_thread_client.add_participants(participants)
        except:
            raised = True

        self.assertFalse(raised, 'Expected is no excpetion raised')
        self.assertTrue(len(result) == 0)
Beispiel #2
0
    def add_participants(self):
        from azure.communication.chat import ChatThreadClient, CommunicationTokenCredential, \
            CommunicationTokenRefreshOptions
        refresh_options = CommunicationTokenRefreshOptions(self.token)
        chat_thread_client = ChatThreadClient(self.endpoint, CommunicationTokenCredential(refresh_options), self._thread_id)

        # [START add_participants]
        from azure.communication.chat import ChatThreadParticipant
        from datetime import datetime
        new_participant = ChatThreadParticipant(
                user=self.new_user,
                display_name='name',
                share_history_time=datetime.utcnow())
        thread_participants = [new_participant]
        chat_thread_client.add_participants(thread_participants)
        # [END add_participants]
        print("add_chat_participants succeeded")
Beispiel #3
0
    def test_add_participants_w_failed_participants_returns_nonempty_list(
            self):
        thread_id = "19:[email protected]"
        new_participant_id = "8:acs:57b9bac9-df6c-4d39-a73b-26e944adf6ea_9b0110-08007f1041"
        raised = False
        error_message = "some error message"

        def mock_send(*_, **__):
            return mock_response(status_code=201,
                                 json_payload={
                                     "errors": {
                                         "invalidParticipants": [{
                                             "code": "string",
                                             "message": error_message,
                                             "target": new_participant_id,
                                             "details": []
                                         }]
                                     }
                                 })

        chat_thread_client = ChatThreadClient("https://endpoint",
                                              TestChatThreadClient.credential,
                                              thread_id,
                                              transport=Mock(send=mock_send))

        new_participant = ChatThreadParticipant(
            user=CommunicationUserIdentifier(new_participant_id),
            display_name='name',
            share_history_time=datetime.utcnow())
        participants = [new_participant]

        try:
            result = chat_thread_client.add_participants(participants)
        except:
            raised = True

        self.assertFalse(raised, 'Expected is no excpetion raised')
        self.assertTrue(len(result) == 1)

        failed_participant = result[0][0]
        communication_error = result[0][1]

        self.assertEqual(new_participant.user.identifier,
                         failed_participant.user.identifier)
        self.assertEqual(new_participant.display_name,
                         failed_participant.display_name)
        self.assertEqual(new_participant.share_history_time,
                         failed_participant.share_history_time)
        self.assertEqual(error_message, communication_error.message)