From 63aa5e19d8273e1a023eb61b405c0e9ee2113f9c Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Fri, 6 Sep 2024 15:24:41 +0200
Subject: [PATCH] OZG-6500 update for comments

---
 .../user/KeycloakUserPreconditionService.java | 16 ++----
 .../KeycloakUserPreconditionServiceTest.java  | 55 ++++---------------
 2 files changed, 16 insertions(+), 55 deletions(-)

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 35dd7c9..eb5ca49 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
@@ -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();
-	}
 }
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 79cc3c0..d3caf80 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
@@ -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 {
 
-- 
GitLab