Skip to content
Snippets Groups Projects
Commit 63aa5e19 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6500 update for comments

parent b8ffdf6b
Branches
Tags
No related merge requests found
......@@ -24,9 +24,8 @@
package de.ozgcloud.operator.keycloak.user;
import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import de.ozgcloud.operator.keycloak.KeycloakGenericRemoteService;
......@@ -57,7 +56,7 @@ class KeycloakUserPreconditionService {
return groupError;
}
if (!userEmailExistsAndIsValidEmail(user)) {
if (!userHasEmail(user)) {
return Optional.of(String.format("User Email does not yet exist"));
}
......@@ -85,16 +84,9 @@ class KeycloakUserPreconditionService {
.findAny();
}
boolean userEmailExistsAndIsValidEmail(OzgCloudKeycloakUser user) {
boolean userHasEmail(OzgCloudKeycloakUser user) {
String email = user.getSpec().getKeycloakUser().getEmail();
return !Optional.ofNullable(email).orElse("").isEmpty() && isValidEmail(email);
return !StringUtils.isEmpty(email);
}
boolean isValidEmail(String email) {
String EMAIL_REGEX = "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}$";
Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX);
Matcher matcher = EMAIL_PATTERN.matcher(email);
return matcher.matches();
}
}
......@@ -91,12 +91,12 @@ class KeycloakUserPreconditionServiceTest {
}
@Test
void shouldReturnErrorIfUserEmailNotExistsORIsNotValidEmail() {
void shouldReturnErrorIfUserDoesNotHaveEmail() {
var user = OzgCloudKeycloakUserTestFactory.create();
doReturn(true).when(service).realmExists(REALM);
doReturn(Optional.empty()).when(service).clientsExists(any(), any());
doReturn(Optional.empty()).when(service).groupsExists(any(), any());
doReturn(false).when(service).userEmailExistsAndIsValidEmail(user);
doReturn(false).when(service).userHasEmail(user);
var response = service.getPreconditionErrors(user);
......@@ -106,7 +106,7 @@ class KeycloakUserPreconditionServiceTest {
@Test
void shouldReturnEmptyIfRealmExists() {
var user = OzgCloudKeycloakUserTestFactory.create();
doReturn(true).when(service).userEmailExistsAndIsValidEmail(user);
doReturn(true).when(service).userHasEmail(user);
doReturn(true).when(keycloakGenericRemoteService).realmExists(anyString());
doReturn(Optional.empty()).when(service).clientsExists(any(), any());
doReturn(Optional.empty()).when(service).groupsExists(any(), any());
......@@ -117,9 +117,9 @@ class KeycloakUserPreconditionServiceTest {
}
@Test
void shouldReturnEmptyIfuserEmailExistsAndIsValidEmail() {
void shouldReturnEmptyIfuserHasEmail() {
var user = OzgCloudKeycloakUserTestFactory.create();
doReturn(true).when(service).userEmailExistsAndIsValidEmail(user);
doReturn(true).when(service).userHasEmail(user);
doReturn(true).when(keycloakGenericRemoteService).realmExists(anyString());
doReturn(Optional.empty()).when(service).clientsExists(any(), any());
doReturn(Optional.empty()).when(service).groupsExists(any(), any());
......@@ -130,7 +130,7 @@ class KeycloakUserPreconditionServiceTest {
}
@Test
void shouldCheckuserEmailExistsAndIsValidEmail() {
void shouldCheckuserHasEmail() {
var user = OzgCloudKeycloakUserTestFactory.create();
doReturn(true).when(keycloakGenericRemoteService).realmExists(anyString());
doReturn(Optional.empty()).when(service).clientsExists(any(), any());
......@@ -138,7 +138,7 @@ class KeycloakUserPreconditionServiceTest {
service.getPreconditionErrors(user);
verify(service).userEmailExistsAndIsValidEmail(user);
verify(service).userHasEmail(user);
}
@Test
......@@ -185,12 +185,11 @@ class KeycloakUserPreconditionServiceTest {
}
@Nested
class TestuserEmailExistsAndIsValidEmail {
class TestuserHasEmail {
@Test
void shouldResponduserEmailExistsAndIsValidEmail() {
var response = service.userEmailExistsAndIsValidEmail(OzgCloudKeycloakUserTestFactory.create());
void shouldResponduserHasEmail() {
var response = service.userHasEmail(OzgCloudKeycloakUserTestFactory.create());
assertThat(response).isTrue();
}
......@@ -199,7 +198,7 @@ class KeycloakUserPreconditionServiceTest {
void shouldRespondWhenUserEmailIsEmpty() {
var user = OzgCloudKeycloakUserTestFactory.create();
user.getSpec().getKeycloakUser().setEmail("");
var response = service.userEmailExistsAndIsValidEmail(user);
var response = service.userHasEmail(user);
assertThat(response).isFalse();
}
......@@ -208,41 +207,11 @@ class KeycloakUserPreconditionServiceTest {
void shouldRespondWhenUserEmailIsNull() {
var user = OzgCloudKeycloakUserTestFactory.create();
user.getSpec().getKeycloakUser().setEmail(null);
var response = service.userEmailExistsAndIsValidEmail(user);
var response = service.userHasEmail(user);
assertThat(response).isFalse();
}
@Test
void shouldCallIsValidEmail() {
var user = OzgCloudKeycloakUserTestFactory.create();
service.userEmailExistsAndIsValidEmail(user);
verify(service).isValidEmail(user.getSpec().getKeycloakUser().getEmail());
}
@Nested
class TestIsValidEmail {
@Test
void shouldRespondWhenUserEmailIsInvalid() {
var user = OzgCloudKeycloakUserTestFactory.create();
user.getSpec().getKeycloakUser().setEmail("@domain.com");
var response = service.userEmailExistsAndIsValidEmail(user);
assertThat(response).isFalse();
}
@Test
void shouldRespondWhenUserEmailIsValid() {
var user = OzgCloudKeycloakUserTestFactory.create();
user.getSpec().getKeycloakUser().setEmail("test@domain.com");
var response = service.userEmailExistsAndIsValidEmail(user);
assertThat(response).isTrue();
}
}
@Nested
class TestClientExists {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment