diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionService.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionService.java index d329c49970ae6c84c92f3eb4ac9724b5b32c44e9..416801bcb1dff152916ba976915b91767b782738 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionService.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionService.java @@ -55,11 +55,10 @@ class KeycloakUserPreconditionService { return groupError; } - if(!userEmailExists(user)) { + if (!userEmailExists(user)) { return Optional.of(String.format("User Email does not yet exist")); } - return Optional.empty(); } @@ -85,6 +84,6 @@ class KeycloakUserPreconditionService { } boolean userEmailExists(OzgCloudKeycloakUser user) { - return !user.getSpec().getKeycloakUser().getEmail().isEmpty(); + return !Optional.ofNullable(user.getSpec().getKeycloakUser().getEmail()).orElse("").isEmpty(); } } diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionServiceTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionServiceTest.java index f12ddca351977105d7ddae5d5064282277330a17..6a2bdf6232d41a80c5bd153d810553223ca46ae6 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionServiceTest.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionServiceTest.java @@ -41,7 +41,6 @@ import org.mockito.Spy; import de.ozgcloud.operator.keycloak.KeycloakClient; import de.ozgcloud.operator.keycloak.KeycloakGenericRemoteService; -import io.fabric8.kubernetes.api.model.Secret; class KeycloakUserPreconditionServiceTest { @@ -90,12 +89,12 @@ class KeycloakUserPreconditionServiceTest { assertThat(response).isPresent(); } + @Test void shouldReturnErrorIfUserEmailNotExists() { var user = OzgCloudKeycloakUserTestFactory.create(); + user.getSpec().getKeycloakUser().setEmail(""); doReturn(true).when(service).realmExists(REALM); - //doReturn(false).when(service).userEmailExists(user); - var response = service.getPreconditionErrors(user); @@ -127,6 +126,7 @@ class KeycloakUserPreconditionServiceTest { assertThat(response).isEmpty(); } + @Test void shouldCheckUserEmailExists() { var user = OzgCloudKeycloakUserTestFactory.create(); @@ -138,6 +138,7 @@ class KeycloakUserPreconditionServiceTest { verify(service).userEmailExists(user); } + @Test void shouldCheckIfKeycloakClientExists() { doReturn(true).when(keycloakGenericRemoteService).realmExists(anyString()); @@ -191,14 +192,24 @@ class KeycloakUserPreconditionServiceTest { assertThat(response).isTrue(); } + @Test - void shouldRespondUserEmailNotExists() { - var user = OzgCloudKeycloakUserTestFactory.create(); + void shouldRespondWhenUserEmailIsEmpty() { + var user = OzgCloudKeycloakUserTestFactory.create(); user.getSpec().getKeycloakUser().setEmail(""); var response = service.userEmailExists(user); assertThat(response).isFalse(); } + + @Test + void shouldRespondWhenUserEmailIsNull() { + var user = OzgCloudKeycloakUserTestFactory.create(); + user.getSpec().getKeycloakUser().setEmail(null); + var response = service.userEmailExists(user); + + assertThat(response).isFalse(); + } } @Nested @@ -236,7 +247,8 @@ class KeycloakUserPreconditionServiceTest { @Test void shouldReturnMissingGroup() { - when(keycloakGenericRemoteService.groupExists(KeycloakUserSpecUserTestFactory.GROUP_NAME_1, OzgCloudKeycloakUserTestFactory.METADATA_NAMESPACE)).thenReturn(false); + when(keycloakGenericRemoteService.groupExists(KeycloakUserSpecUserTestFactory.GROUP_NAME_1, + OzgCloudKeycloakUserTestFactory.METADATA_NAMESPACE)).thenReturn(false); var rsp = service.getPreconditionErrors(user); @@ -245,8 +257,10 @@ class KeycloakUserPreconditionServiceTest { @Test void shouldReturnGroupExists() { - when(keycloakGenericRemoteService.groupExists(KeycloakUserSpecUserTestFactory.GROUP_NAME_1, OzgCloudKeycloakUserTestFactory.METADATA_NAMESPACE)).thenReturn(true); - when(keycloakGenericRemoteService.groupExists(KeycloakUserSpecUserTestFactory.GROUP_NAME_2, OzgCloudKeycloakUserTestFactory.METADATA_NAMESPACE)).thenReturn(true); + when(keycloakGenericRemoteService.groupExists(KeycloakUserSpecUserTestFactory.GROUP_NAME_1, + OzgCloudKeycloakUserTestFactory.METADATA_NAMESPACE)).thenReturn(true); + when(keycloakGenericRemoteService.groupExists(KeycloakUserSpecUserTestFactory.GROUP_NAME_2, + OzgCloudKeycloakUserTestFactory.METADATA_NAMESPACE)).thenReturn(true); var rsp = service.getPreconditionErrors(user);