use of com.azure.android.communication.common.CommunicationUserIdentifier in project azure-sdk-for-android by Azure.
the class ChatThreadAsyncClientTest method canAddSingleParticipant.
@ParameterizedTest
@MethodSource("com.azure.android.core.test.TestBase#getHttpClients")
public void canAddSingleParticipant(HttpClient httpClient) throws InterruptedException, ExecutionException {
setupTest(httpClient);
this.chatThreadClient.addParticipant(new ChatParticipant().setCommunicationIdentifier(this.firstThreadParticipant)).get();
PagedAsyncStream<ChatParticipant> participantPagedAsyncStream = this.chatThreadClient.listParticipants(new ListParticipantsOptions(), null);
CountDownLatch latch = new CountDownLatch(1);
List<ChatParticipant> returnedParticipants = new ArrayList<ChatParticipant>();
participantPagedAsyncStream.forEach(new AsyncStreamHandler<ChatParticipant>() {
@Override
public void onNext(ChatParticipant participant) {
returnedParticipants.add(participant);
}
@Override
public void onError(Throwable throwable) {
latch.countDown();
}
@Override
public void onComplete() {
latch.countDown();
}
});
awaitOnLatch(latch, "canAddSingleParticipant");
assertTrue(returnedParticipants.size() > 0);
for (ChatParticipant participant : returnedParticipants) {
assertNotNull(participant);
assertNotNull(participant.getDisplayName());
assertNotNull(participant.getShareHistoryTime());
assertNotNull(participant.getCommunicationIdentifier());
assertTrue(participant.getCommunicationIdentifier() instanceof CommunicationUserIdentifier);
assertNotNull(((CommunicationUserIdentifier) participant.getCommunicationIdentifier()).getId());
}
if (TEST_MODE != TestMode.PLAYBACK) {
assertTrue(super.checkParticipantsListContainsParticipantId(returnedParticipants, this.firstThreadParticipant.getId()));
}
}
use of com.azure.android.communication.common.CommunicationUserIdentifier in project azure-sdk-for-android by Azure.
the class ChatClientTestBase method generateParticipant.
public static ChatParticipant generateParticipant(String id, String displayName) {
ChatParticipant chatParticipant = new ChatParticipant();
chatParticipant.setCommunicationIdentifier(new CommunicationUserIdentifier(id));
chatParticipant.setDisplayName(displayName);
return chatParticipant;
}
use of com.azure.android.communication.common.CommunicationUserIdentifier in project azure-sdk-for-android by Azure.
the class ChatThreadAsyncClientTest method canAddSingleParticipantWithResponse.
@ParameterizedTest
@MethodSource("com.azure.android.core.test.TestBase#getHttpClients")
public void canAddSingleParticipantWithResponse(HttpClient httpClient) throws InterruptedException, ExecutionException {
setupTest(httpClient);
Response<Void> addResponse = this.chatThreadClient.addParticipantWithResponse(new ChatParticipant().setCommunicationIdentifier(this.firstThreadParticipant), null).get();
assertNotNull(addResponse);
assertEquals(201, addResponse.getStatusCode());
PagedAsyncStream<ChatParticipant> participantPagedAsyncStream = this.chatThreadClient.listParticipants(new ListParticipantsOptions(), null);
CountDownLatch latch = new CountDownLatch(1);
List<ChatParticipant> returnedParticipants = new ArrayList<ChatParticipant>();
participantPagedAsyncStream.forEach(new AsyncStreamHandler<ChatParticipant>() {
@Override
public void onNext(ChatParticipant participant) {
returnedParticipants.add(participant);
}
@Override
public void onError(Throwable throwable) {
latch.countDown();
}
@Override
public void onComplete() {
latch.countDown();
}
});
awaitOnLatch(latch, "canAddSingleParticipantWithResponse");
assertTrue(returnedParticipants.size() > 0);
for (ChatParticipant participant : returnedParticipants) {
assertNotNull(participant);
assertNotNull(participant.getDisplayName());
assertNotNull(participant.getShareHistoryTime());
assertNotNull(participant.getCommunicationIdentifier());
assertTrue(participant.getCommunicationIdentifier() instanceof CommunicationUserIdentifier);
assertNotNull(((CommunicationUserIdentifier) participant.getCommunicationIdentifier()).getId());
}
if (TEST_MODE != TestMode.PLAYBACK) {
assertTrue(super.checkParticipantsListContainsParticipantId(returnedParticipants, this.firstThreadParticipant.getId()));
}
}
use of com.azure.android.communication.common.CommunicationUserIdentifier in project azure-sdk-for-android by Azure.
the class ChatThreadAsyncClientTest method canAddListAndRemoveParticipants.
@ParameterizedTest
@MethodSource("com.azure.android.core.test.TestBase#getHttpClients")
public void canAddListAndRemoveParticipants(HttpClient httpClient) throws InterruptedException, ExecutionException {
setupTest(httpClient);
Iterable<ChatParticipant> participants = addParticipants(this.firstThreadParticipant.getId(), this.secondThreadParticipant.getId());
this.chatThreadClient.addParticipants(participants).get();
PagedAsyncStream<ChatParticipant> participantPagedAsyncStream = this.chatThreadClient.listParticipants(new ListParticipantsOptions(), null);
CountDownLatch latch = new CountDownLatch(1);
List<ChatParticipant> returnedParticipants = new ArrayList<ChatParticipant>();
participantPagedAsyncStream.forEach(new AsyncStreamHandler<ChatParticipant>() {
@Override
public void onNext(ChatParticipant participant) {
returnedParticipants.add(participant);
}
@Override
public void onError(Throwable throwable) {
latch.countDown();
}
@Override
public void onComplete() {
latch.countDown();
}
});
awaitOnLatch(latch, "canAddListAndRemoveParticipants");
assertTrue(returnedParticipants.size() > 0);
for (ChatParticipant participant : returnedParticipants) {
assertNotNull(participant);
assertNotNull(participant.getDisplayName());
assertNotNull(participant.getShareHistoryTime());
assertNotNull(participant.getCommunicationIdentifier());
assertTrue(participant.getCommunicationIdentifier() instanceof CommunicationUserIdentifier);
assertNotNull(((CommunicationUserIdentifier) participant.getCommunicationIdentifier()).getId());
}
if (TEST_MODE != TestMode.PLAYBACK) {
for (ChatParticipant participant : participants) {
assertTrue(super.checkParticipantsListContainsParticipantId(returnedParticipants, ((CommunicationUserIdentifier) participant.getCommunicationIdentifier()).getId()));
}
for (ChatParticipant participant : participants) {
final String id = ((CommunicationUserIdentifier) participant.getCommunicationIdentifier()).getId();
assertNotNull(id);
if (!id.equals(this.firstThreadParticipant.getId())) {
this.chatThreadClient.removeParticipant(participant.getCommunicationIdentifier()).get();
}
}
}
}
use of com.azure.android.communication.common.CommunicationUserIdentifier in project azure-sdk-for-android by Azure.
the class ChatThreadAsyncClientTest method setupTest.
private void setupTest(HttpClient httpClient) throws ExecutionException, InterruptedException {
this.client = super.getChatClientBuilder(httpClient).buildAsyncClient();
this.firstThreadParticipant = new CommunicationUserIdentifier(THREAD_PARTICIPANT_1);
this.secondThreadParticipant = new CommunicationUserIdentifier(THREAD_PARTICIPANT_2);
CreateChatThreadOptions threadRequest = createThreadOptions(this.firstThreadParticipant.getId(), this.secondThreadParticipant.getId());
CreateChatThreadResult createChatThreadResult = client.createChatThread(threadRequest).get();
this.chatThreadClient = client.getChatThreadClient(createChatThreadResult.getChatThreadProperties().getId());
this.threadId = chatThreadClient.getChatThreadId();
}
Aggregations