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)
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")
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)