diff --git a/service/src/main/java/org/jboss/aerogear/unifiedpush/service/impl/AliasServiceImpl.java b/service/src/main/java/org/jboss/aerogear/unifiedpush/service/impl/AliasServiceImpl.java index 407ab74d5a..30aeb0c51c 100644 --- a/service/src/main/java/org/jboss/aerogear/unifiedpush/service/impl/AliasServiceImpl.java +++ b/service/src/main/java/org/jboss/aerogear/unifiedpush/service/impl/AliasServiceImpl.java @@ -56,6 +56,7 @@ public class AliasServiceImpl implements AliasService { @Inject private DocumentService documentService; + @Override public List addAll(PushApplication pushApplication, List aliases, boolean oauth2) { logger.debug("OAuth2 flag is: " + oauth2); List aliasList = new ArrayList<>(); @@ -99,17 +100,15 @@ public List remove(UUID pushApplicationId, UUID userId, boolean destruc } private List remove(UUID pushApplicationId, String alias, boolean destructive) { - // Remove any aliases belong to user_id - List removed = aliasDao.remove(pushApplicationId, alias); - // TODO - Remove from cluster cache - + // TODO - Remove from cluster cache if (destructive) { // Remove user from keyCloak keycloakService.delete(alias); documentService.delete(pushApplicationId, find(pushApplicationId.toString(), alias)); } - return removed; + // Remove any aliases belong to user_id + return aliasDao.remove(pushApplicationId, alias); } @Override @@ -142,6 +141,7 @@ public boolean registered(String alias) { * @param alias alias name * @param fqdn domain / team name. */ + @Override public Associated associated(String alias, String fqdn) { PushApplication pushApplication = null; diff --git a/service/src/test/java/org/jboss/aerogear/unifiedpush/service/AliasServiceTest.java b/service/src/test/java/org/jboss/aerogear/unifiedpush/service/AliasServiceTest.java index d5f033d0eb..5ed71c18bd 100644 --- a/service/src/test/java/org/jboss/aerogear/unifiedpush/service/AliasServiceTest.java +++ b/service/src/test/java/org/jboss/aerogear/unifiedpush/service/AliasServiceTest.java @@ -28,6 +28,7 @@ import org.jboss.aerogear.unifiedpush.api.Alias; import org.jboss.aerogear.unifiedpush.api.PushApplication; +import org.jboss.aerogear.unifiedpush.api.document.DocumentMetadata; import org.jboss.aerogear.unifiedpush.service.annotations.LoggedInUser; import org.jboss.aerogear.unifiedpush.service.impl.AliasServiceImpl.Associated; import org.jboss.aerogear.unifiedpush.service.impl.spring.OAuth2Configuration; @@ -40,6 +41,8 @@ public class AliasServiceTest extends AbstractCassandraServiceTest { @Inject private AliasService aliasService; + @Inject + private DocumentService documentService; @Test @Transactional @@ -104,7 +107,8 @@ public void testRemoveAlias() throws IOException { PushApplication pushApplication = new PushApplication(); UUID pushAppId = UUID.fromString(pushApplication.getPushApplicationID()); - Alias[] legacyAliases = new Alias[] { new Alias(pushAppId, UUIDs.timeBased(), "Supprot@AeroGear.org"), + UUID firstGuid = UUIDs.timeBased(); + Alias[] legacyAliases = new Alias[] { new Alias(pushAppId, firstGuid, "Supprot@AeroGear.org"), new Alias(pushAppId, UUIDs.timeBased(), "Test@AeroGear.org"), new Alias(pushAppId, UUIDs.timeBased(), "Help@AeroGear.org") }; List aliasList = Arrays.asList(legacyAliases); @@ -117,11 +121,14 @@ public void testRemoveAlias() throws IOException { assertThat(aliasService.find(alias.getPushApplicationId(), alias.getId())).isNotNull(); }); + documentService.save(new DocumentMetadata(pushAppId, getClass().getSimpleName(), firstGuid), + "doc1", "test_id"); + // Delete alias - aliasService.remove(pushAppId, legacyAliases[0].getEmail()); + aliasService.remove(pushAppId, firstGuid, true); // Validate Alias is missing - assertThat(aliasService.find(legacyAliases[0].getPushApplicationId(), legacyAliases[0].getId())).isNull(); + assertThat(aliasService.find(pushAppId, firstGuid)).isNull(); }