Skip to content
Snippets Groups Projects
Commit 548a3e45 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-531 -> OZG-543 EMail Validation

parent 9647dfca
No related branches found
No related tags found
No related merge requests found
package de.itvsh.goofy.common;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class RegexUtil {
public static final String VALIDATION_EMAIL = "[a-z0-9!#$%&'*+\\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+\\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
}
\ No newline at end of file
......@@ -2,15 +2,28 @@ package de.itvsh.goofy.vorgang;
import static de.itvsh.goofy.common.ValidationMessageCodes.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import de.itvsh.goofy.common.RegexUtil;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Getter
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor(access = AccessLevel.PACKAGE)
@ToString
public class RedirectRequest {
@NotNull(message = FIELD_IS_NULL)
@Email(regexp = RegexUtil.VALIDATION_EMAIL, message = FIELD_INVALID)
@NotEmpty(message = FIELD_IS_EMPTY)
private String email;
@NotNull(message = FIELD_IS_NULL)
@Size(min = 8, message = FIELD_SIZE)
@NotEmpty(message = FIELD_IS_EMPTY)
private String password;
}
\ No newline at end of file
package de.itvsh.goofy.common;
import static org.assertj.core.api.Assertions.*;
import java.util.regex.Pattern;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
public class RegexUtilTest {
@Nested
class TestValidationEMail {
private final String REGEX = RegexUtil.VALIDATION_EMAIL;
@ParameterizedTest
@ValueSource(strings = {
"localpart@domain.com",
"local-part-1234567890!#$%&'*+/=?^_`{|}~-.'/&%*@domain.com",
"local-part-@domain.domain.com",
"l@d.c"
})
void shoulMatchValidEMail(String eMail) {
boolean match = Pattern.matches(REGEX, eMail);
assertThat(match).isTrue();
}
@ParameterizedTest
@ValueSource(strings = {
"local-part@",
"local@part@domain.com",
"local@part@",
"@domain.com",
"local@part@domain.com",
"local@@domain.com",
"local@domaincom" })
void shoulNotMatchInvalidEmail(String eMail) {
boolean match = Pattern.matches(REGEX, eMail);
assertThat(match).isFalse();
}
}
}
\ 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