From 24f7046b04ed16c9be555611176e6a9b8fd3304b Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 6 Jul 2022 18:36:55 +0200
Subject: [PATCH] OZG-2644 tiny cleanup

---
 .../ForwardingLandesnetzInfoService.java      |  8 +++-
 .../ForwardingPasswordValidator.java          |  6 +--
 .../common/command/CommandMapperTest.java     |  3 +-
 .../ForwardingLandesnetzInfoServiceTest.java  | 41 ++++++++++++-------
 .../ForwardingPasswordValidatorTest.java      | 16 +-------
 5 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/forwarding/ForwardingLandesnetzInfoService.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/forwarding/ForwardingLandesnetzInfoService.java
index 32a35ea809..f78af5bd04 100644
--- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/forwarding/ForwardingLandesnetzInfoService.java
+++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/forwarding/ForwardingLandesnetzInfoService.java
@@ -35,8 +35,12 @@ class ForwardingLandesnetzInfoService {
 		LOG.info("{} Landesnetz-Infos entries read.", landesnetzInfo.size());
 	}
 
-	public boolean isDomainInLandesnetz(String domain) {
-		return isLandesnetzIncludingDomain(domain);
+	public boolean isEmailInLandesnetz(String email) {
+		return isLandesnetzIncludingDomain(getDomain(email));
+	}
+
+	private String getDomain(String email) {
+		return email.substring(email.lastIndexOf('@') + 1, email.length());
 	}
 
 	private boolean isLandesnetzIncludingDomain(String emailDomain) {
diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/forwarding/ForwardingPasswordValidator.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/forwarding/ForwardingPasswordValidator.java
index bfd35bee71..43a4954799 100644
--- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/forwarding/ForwardingPasswordValidator.java
+++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/forwarding/ForwardingPasswordValidator.java
@@ -32,11 +32,7 @@ class ForwardingPasswordValidator implements ConstraintValidator<ForwardingPassw
 	}
 
 	private boolean isNotInLandesnetz(String email) {
-		return !landesnetzInfoService.isDomainInLandesnetz(getDomain(email));
-	}
-
-	String getDomain(String email) {
-		return email.substring(email.lastIndexOf('@') + 1, email.length());
+		return !landesnetzInfoService.isEmailInLandesnetz(email);
 	}
 
 	boolean isValidPassword(String password) {
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandMapperTest.java b/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandMapperTest.java
index 199341b605..29864a467f 100644
--- a/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandMapperTest.java
+++ b/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandMapperTest.java
@@ -48,8 +48,7 @@ class CommandMapperTest {
 
 		@Test
 		void shouldMapNullPasswordAsEmpty() {
-			var request = RedirectRequestTestFactory.createBuilder().password(null).build();
-			var command = mapper.toGrpcRedirectRequest(request);
+			var command = mapper.toGrpcRedirectRequest(RedirectRequestTestFactory.createBuilder().password(null).build());
 
 			assertThat(command.getPassword()).isEqualTo(StringUtils.EMPTY);
 		}
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/forwarding/ForwardingLandesnetzInfoServiceTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/forwarding/ForwardingLandesnetzInfoServiceTest.java
index 26436350d1..e8a8b13bb4 100644
--- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/forwarding/ForwardingLandesnetzInfoServiceTest.java
+++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/forwarding/ForwardingLandesnetzInfoServiceTest.java
@@ -4,6 +4,7 @@ import java.util.Arrays;
 import java.util.HashSet;
 
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
@@ -22,50 +23,62 @@ class ForwardingLandesnetzInfoServiceTest {
 	@Mock
 	private ResourceLoader resourceLoader;
 
+	@DisplayName("Is email in landesnetz")
 	@Nested
-	class TestIstImLandesnetz {
+	class TestIstInLandesnetz {
+
+		private final String EMAIL_NAME = "testEmailName@";
 
 		private final String IN_LANDESNETZ = "itvsh.de";
-		private final String IN_LANDESNETZ_MIT_PUNKT = ".itvsh.old.de";
+		private final String IN_LANDESNETZ_WITH_DOTS = ".itvsh.old.de";
 
 		@BeforeEach
 		void initMap() throws Exception {
-			ReflectionTestUtils.setField(service, "landesnetzInfo", new HashSet<>(Arrays.asList(IN_LANDESNETZ, IN_LANDESNETZ_MIT_PUNKT)));
+			ReflectionTestUtils.setField(service, "landesnetzInfo", new HashSet<>(Arrays.asList(IN_LANDESNETZ, IN_LANDESNETZ_WITH_DOTS)));
 		}
 
+		@DisplayName("validate with email in Landesnetz")
 		@Nested
-		class TestExactMatching {
+		class TestWithMatchingEmail {
 
 			@Test
-			void shouldReturnTrue() {
-				var result = service.isDomainInLandesnetz(IN_LANDESNETZ);
+			void shouldReturnTrueWithSingleDot() {
+				var result = service.isEmailInLandesnetz(EMAIL_NAME + IN_LANDESNETZ);
 
 				assertThat(result).isTrue();
 			}
 
 			@Test
-			void shouldReturnFalse() {
-				var result = service.isDomainInLandesnetz("me.gmx.de");
+			void shouldReturnTrueWithMultipleDots() {
+				var result = service.isEmailInLandesnetz(EMAIL_NAME + IN_LANDESNETZ_WITH_DOTS);
 
-				assertThat(result).isFalse();
+				assertThat(result).isTrue();
+			}
+
+			@Test
+			void shouldReturnTrueByConsideringJustTheEnd() {
+				var result = service.isEmailInLandesnetz(EMAIL_NAME + "me" + IN_LANDESNETZ_WITH_DOTS);
+
+				assertThat(result).isTrue();
 			}
 		}
 
+		@DisplayName("validate with email NOT in Landesnetz")
 		@Nested
 		class TestEndsWithMatching {
 
 			@Test
-			void shouldReturnFalse() {
-				var result = service.isDomainInLandesnetz("me" + IN_LANDESNETZ_MIT_PUNKT + ".nicht.gueltig.de");
+			void shouldReturnFalseOnWrongDomain() {
+				var result = service.isEmailInLandesnetz(EMAIL_NAME + "me.gmx.de");
 
 				assertThat(result).isFalse();
 			}
 
 			@Test
-			void shouldReturnTrue() {
-				var result = service.isDomainInLandesnetz("me" + IN_LANDESNETZ_MIT_PUNKT);
+			void shouldReturnFalseOnConsideringJustTheEnd() {
+				var result = service.isEmailInLandesnetz(EMAIL_NAME + "me" + IN_LANDESNETZ_WITH_DOTS + ".nicht.gueltig.de");
 
-				assertThat(result).isTrue();
+				assertThat(result).isFalse();
 			}
 		}
 	}
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/forwarding/ForwardingPasswordValidatorTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/forwarding/ForwardingPasswordValidatorTest.java
index 895bc2cfdc..7b270e631e 100644
--- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/forwarding/ForwardingPasswordValidatorTest.java
+++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/forwarding/ForwardingPasswordValidatorTest.java
@@ -52,7 +52,7 @@ class ForwardingPasswordValidatorTest {
 
 			@BeforeEach
 			void mock() {
-				when(landesnetzInfoService.isDomainInLandesnetz(anyString())).thenReturn(true);
+				when(landesnetzInfoService.isEmailInLandesnetz(anyString())).thenReturn(true);
 			}
 
 			@Test
@@ -72,7 +72,7 @@ class ForwardingPasswordValidatorTest {
 
 			@BeforeEach
 			void mock() {
-				when(landesnetzInfoService.isDomainInLandesnetz(anyString())).thenReturn(false);
+				when(landesnetzInfoService.isEmailInLandesnetz(anyString())).thenReturn(false);
 				doNothing().when(validator).prepareConstraint(any());
 			}
 
@@ -120,16 +120,4 @@ class ForwardingPasswordValidatorTest {
 			}
 		}
 	}
-
-	@DisplayName("Get domain")
-	@Nested
-	class TestGetDomain {
-
-		@Test
-		void shouldReturnDomainFromEmail() {
-			var domain = validator.getDomain("snoopy@charlies-home.com");
-
-			assertThat(domain).isEqualTo("charlies-home.com");
-		}
-	}
 }
\ No newline at end of file
-- 
GitLab