use of com.azure.android.communication.common.MicrosoftTeamsUserIdentifier in project azure-sdk-for-android by Azure.
the class CommunicationIdentifierConverter method convert.
/**
* Convert CommunicationIdentifierModel into CommunicationIdentifier
* @param identifier CommunicationIdentifierModel to be converted
* @return CommunicationIdentifier
*/
public static CommunicationIdentifier convert(CommunicationIdentifierModel identifier, ClientLogger logger) {
assertSingleType(identifier);
String rawId = identifier.getRawId();
if (identifier.getCommunicationUser() != null) {
final String userId = identifier.getCommunicationUser().getId();
if (userId == null) {
throw logger.logExceptionAsError(new NullPointerException("CommunicationIdentifierModel.CommunicationUserIdentifierModel.id"));
}
return new CommunicationUserIdentifier(userId);
}
if (identifier.getPhoneNumber() != null) {
PhoneNumberIdentifierModel phoneNumberModel = identifier.getPhoneNumber();
if (phoneNumberModel.getValue() == null) {
throw logger.logExceptionAsError(new NullPointerException("CommunicationIdentifierModel.PhoneNumberIdentifierModel.value"));
}
return new PhoneNumberIdentifier(phoneNumberModel.getValue()).setRawId(rawId);
}
if (identifier.getMicrosoftTeamsUser() != null) {
MicrosoftTeamsUserIdentifierModel teamsUserIdentifierModel = identifier.getMicrosoftTeamsUser();
final String userId = teamsUserIdentifierModel.getUserId();
if (userId == null) {
throw logger.logExceptionAsError(new NullPointerException("CommunicationIdentifierModel.MicrosoftTeamsUserIdentifierModel.userId"));
}
final CommunicationCloudEnvironmentModel cloud = teamsUserIdentifierModel.getCloud();
if (cloud == null) {
throw logger.logExceptionAsError(new NullPointerException("CommunicationIdentifierModel.MicrosoftTeamsUserIdentifierModel.cloud"));
}
if (rawId == null) {
throw logger.logExceptionAsError(new NullPointerException("CommunicationIdentifierModel.rawId"));
}
return new MicrosoftTeamsUserIdentifier(userId, teamsUserIdentifierModel.isAnonymous()).setRawId(rawId).setCloudEnvironment(CommunicationCloudEnvironment.fromString(cloud.toString()));
}
if (rawId == null) {
throw logger.logExceptionAsError(new NullPointerException("CommunicationIdentifierModel.rawId"));
}
return new UnknownIdentifier(rawId);
}
use of com.azure.android.communication.common.MicrosoftTeamsUserIdentifier in project azure-sdk-for-android by Azure.
the class CommunicationIdentifierConverterTests method deserializerMicrosoftTeamsUser.
@ParameterizedTest
@ValueSource(booleans = { true, false })
public void deserializerMicrosoftTeamsUser(boolean isAnonymous) {
MicrosoftTeamsUserIdentifier identifier = (MicrosoftTeamsUserIdentifier) CommunicationIdentifierConverter.convert(new CommunicationIdentifierModel().setRawId(rawId).setMicrosoftTeamsUser(new MicrosoftTeamsUserIdentifierModel().setUserId(teamsUserId).setIsAnonymous(isAnonymous).setCloud(CommunicationCloudEnvironmentModel.GCCH)), logger);
assertEquals(MicrosoftTeamsUserIdentifier.class, identifier.getClass());
assertEquals(teamsUserId, identifier.getUserId());
assertEquals(rawId, identifier.getRawId());
assertEquals(CommunicationCloudEnvironment.GCCH, identifier.getCloudEnvironment());
assertEquals(isAnonymous, identifier.isAnonymous());
}
use of com.azure.android.communication.common.MicrosoftTeamsUserIdentifier in project azure-sdk-for-android by Azure.
the class NotificationUtilsTest method canParseTeamsPublicUserRawId.
@Test
public void canParseTeamsPublicUserRawId() {
final String teamsPublicUserRawId = "8:orgid:" + USER_ID;
CommunicationIdentifier communicationIdentifier = NotificationUtils.getCommunicationIdentifier(teamsPublicUserRawId);
assertNotNull(communicationIdentifier);
assertTrue(communicationIdentifier instanceof MicrosoftTeamsUserIdentifier);
MicrosoftTeamsUserIdentifier microsoftTeamsUserIdentifier = (MicrosoftTeamsUserIdentifier) communicationIdentifier;
assertEquals(CommunicationCloudEnvironment.PUBLIC, microsoftTeamsUserIdentifier.getCloudEnvironment());
assertEquals(false, microsoftTeamsUserIdentifier.isAnonymous());
assertEquals(USER_ID, microsoftTeamsUserIdentifier.getUserId());
assertEquals(teamsPublicUserRawId, microsoftTeamsUserIdentifier.getRawId());
}
use of com.azure.android.communication.common.MicrosoftTeamsUserIdentifier in project azure-sdk-for-android by Azure.
the class NotificationUtilsTest method canParseTeamsVisitorUserRawId.
@Test
public void canParseTeamsVisitorUserRawId() {
final String teamsVisitorUserRawId = "8:teamsvisitor:" + USER_ID;
CommunicationIdentifier communicationIdentifier = NotificationUtils.getCommunicationIdentifier(teamsVisitorUserRawId);
assertNotNull(communicationIdentifier);
assertTrue(communicationIdentifier instanceof MicrosoftTeamsUserIdentifier);
MicrosoftTeamsUserIdentifier microsoftTeamsUserIdentifier = (MicrosoftTeamsUserIdentifier) communicationIdentifier;
assertEquals(CommunicationCloudEnvironment.PUBLIC, microsoftTeamsUserIdentifier.getCloudEnvironment());
assertTrue(microsoftTeamsUserIdentifier.isAnonymous());
assertEquals(USER_ID, microsoftTeamsUserIdentifier.getUserId());
assertEquals(teamsVisitorUserRawId, microsoftTeamsUserIdentifier.getRawId());
}
use of com.azure.android.communication.common.MicrosoftTeamsUserIdentifier in project azure-sdk-for-android by Azure.
the class CommunicationIdentifierConverterTests method serializeMicrosoftTeamsUser.
@ParameterizedTest
@ValueSource(booleans = { true, false })
public void serializeMicrosoftTeamsUser(boolean isAnonymous) {
CommunicationIdentifierModel model = CommunicationIdentifierConverter.convert(new MicrosoftTeamsUserIdentifier(teamsUserId, isAnonymous).setRawId(rawId).setCloudEnvironment(CommunicationCloudEnvironment.DOD), logger);
assertNotNull(model.getMicrosoftTeamsUser());
assertEquals(teamsUserId, model.getMicrosoftTeamsUser().getUserId());
assertEquals(rawId, model.getRawId());
assertEquals(CommunicationCloudEnvironmentModel.DOD, model.getMicrosoftTeamsUser().getCloud());
assertEquals(isAnonymous, model.getMicrosoftTeamsUser().isAnonymous());
}
Aggregations