Skip to content
Snippets Groups Projects
Commit 24f7046b authored by OZGCloud's avatar OZGCloud
Browse files

OZG-2644 tiny cleanup

parent a598842d
No related branches found
No related tags found
No related merge requests found
...@@ -35,8 +35,12 @@ class ForwardingLandesnetzInfoService { ...@@ -35,8 +35,12 @@ class ForwardingLandesnetzInfoService {
LOG.info("{} Landesnetz-Infos entries read.", landesnetzInfo.size()); LOG.info("{} Landesnetz-Infos entries read.", landesnetzInfo.size());
} }
public boolean isDomainInLandesnetz(String domain) { public boolean isEmailInLandesnetz(String email) {
return isLandesnetzIncludingDomain(domain); return isLandesnetzIncludingDomain(getDomain(email));
}
private String getDomain(String email) {
return email.substring(email.lastIndexOf('@') + 1, email.length());
} }
private boolean isLandesnetzIncludingDomain(String emailDomain) { private boolean isLandesnetzIncludingDomain(String emailDomain) {
......
...@@ -32,11 +32,7 @@ class ForwardingPasswordValidator implements ConstraintValidator<ForwardingPassw ...@@ -32,11 +32,7 @@ class ForwardingPasswordValidator implements ConstraintValidator<ForwardingPassw
} }
private boolean isNotInLandesnetz(String email) { private boolean isNotInLandesnetz(String email) {
return !landesnetzInfoService.isDomainInLandesnetz(getDomain(email)); return !landesnetzInfoService.isEmailInLandesnetz(email);
}
String getDomain(String email) {
return email.substring(email.lastIndexOf('@') + 1, email.length());
} }
boolean isValidPassword(String password) { boolean isValidPassword(String password) {
......
...@@ -48,8 +48,7 @@ class CommandMapperTest { ...@@ -48,8 +48,7 @@ class CommandMapperTest {
@Test @Test
void shouldMapNullPasswordAsEmpty() { void shouldMapNullPasswordAsEmpty() {
var request = RedirectRequestTestFactory.createBuilder().password(null).build(); var command = mapper.toGrpcRedirectRequest(RedirectRequestTestFactory.createBuilder().password(null).build());
var command = mapper.toGrpcRedirectRequest(request);
assertThat(command.getPassword()).isEqualTo(StringUtils.EMPTY); assertThat(command.getPassword()).isEqualTo(StringUtils.EMPTY);
} }
......
...@@ -4,6 +4,7 @@ import java.util.Arrays; ...@@ -4,6 +4,7 @@ import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
...@@ -22,50 +23,62 @@ class ForwardingLandesnetzInfoServiceTest { ...@@ -22,50 +23,62 @@ class ForwardingLandesnetzInfoServiceTest {
@Mock @Mock
private ResourceLoader resourceLoader; private ResourceLoader resourceLoader;
@DisplayName("Is email in landesnetz")
@Nested @Nested
class TestIstImLandesnetz { class TestIstInLandesnetz {
private final String EMAIL_NAME = "testEmailName@";
private final String IN_LANDESNETZ = "itvsh.de"; 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 @BeforeEach
void initMap() throws Exception { 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 @Nested
class TestExactMatching { class TestWithMatchingEmail {
@Test @Test
void shouldReturnTrue() { void shouldReturnTrueWithSingleDot() {
var result = service.isDomainInLandesnetz(IN_LANDESNETZ); var result = service.isEmailInLandesnetz(EMAIL_NAME + IN_LANDESNETZ);
assertThat(result).isTrue(); assertThat(result).isTrue();
} }
@Test @Test
void shouldReturnFalse() { void shouldReturnTrueWithMultipleDots() {
var result = service.isDomainInLandesnetz("me.gmx.de"); 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 @Nested
class TestEndsWithMatching { class TestEndsWithMatching {
@Test @Test
void shouldReturnFalse() { void shouldReturnFalseOnWrongDomain() {
var result = service.isDomainInLandesnetz("me" + IN_LANDESNETZ_MIT_PUNKT + ".nicht.gueltig.de"); var result = service.isEmailInLandesnetz(EMAIL_NAME + "me.gmx.de");
assertThat(result).isFalse(); assertThat(result).isFalse();
} }
@Test @Test
void shouldReturnTrue() { void shouldReturnFalseOnConsideringJustTheEnd() {
var result = service.isDomainInLandesnetz("me" + IN_LANDESNETZ_MIT_PUNKT); var result = service.isEmailInLandesnetz(EMAIL_NAME + "me" + IN_LANDESNETZ_WITH_DOTS + ".nicht.gueltig.de");
assertThat(result).isTrue(); assertThat(result).isFalse();
} }
} }
} }
......
...@@ -52,7 +52,7 @@ class ForwardingPasswordValidatorTest { ...@@ -52,7 +52,7 @@ class ForwardingPasswordValidatorTest {
@BeforeEach @BeforeEach
void mock() { void mock() {
when(landesnetzInfoService.isDomainInLandesnetz(anyString())).thenReturn(true); when(landesnetzInfoService.isEmailInLandesnetz(anyString())).thenReturn(true);
} }
@Test @Test
...@@ -72,7 +72,7 @@ class ForwardingPasswordValidatorTest { ...@@ -72,7 +72,7 @@ class ForwardingPasswordValidatorTest {
@BeforeEach @BeforeEach
void mock() { void mock() {
when(landesnetzInfoService.isDomainInLandesnetz(anyString())).thenReturn(false); when(landesnetzInfoService.isEmailInLandesnetz(anyString())).thenReturn(false);
doNothing().when(validator).prepareConstraint(any()); doNothing().when(validator).prepareConstraint(any());
} }
...@@ -120,16 +120,4 @@ class ForwardingPasswordValidatorTest { ...@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment