update to 2.0, formatting (#2688)

* update to 2.0, formatting

* formatting
This commit is contained in:
lor6 2017-09-30 08:35:32 +03:00 committed by Grzegorz Piwowarek
parent 49482041d2
commit 0fa168957f
3 changed files with 176 additions and 93 deletions

View File

@ -6,8 +6,8 @@
<version>0.1-SNAPSHOT</version> <version>0.1-SNAPSHOT</version>
<properties> <properties>
<validation-api.version>1.1.0.Final</validation-api.version> <validation-api.version>2.0.0.Final</validation-api.version>
<hibernate-validator.version>5.3.4.Final</hibernate-validator.version> <hibernate-validator.version>6.0.2.Final</hibernate-validator.version>
<javax.el-api.version>3.0.0</javax.el-api.version> <javax.el-api.version>3.0.0</javax.el-api.version>
<javax.el.version>2.2.6</javax.el.version> <javax.el.version>2.2.6</javax.el.version>
</properties> </properties>

View File

@ -1,10 +1,17 @@
package org.baeldung; package org.baeldung;
import java.time.LocalDate;
import java.util.List;
import java.util.Optional;
import javax.validation.constraints.AssertTrue; import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.Email;
import javax.validation.constraints.Max; import javax.validation.constraints.Max;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.Past;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import javax.validation.constraints.NotBlank;
public class User { public class User {
@ -21,6 +28,13 @@ public class User {
@Max(value = 150, message = "Age should not be more than 150") @Max(value = 150, message = "Age should not be more than 150")
private int age; private int age;
@Email(message = "Email should be valid")
private String email;
List<@NotBlank String> preferences;
private LocalDate dateOfBirth;
public int getAge() { public int getAge() {
return age; return age;
} }
@ -53,4 +67,28 @@ public class User {
this.name = name; this.name = name;
} }
public Optional<@Past LocalDate> getDateOfBirth() {
return Optional.ofNullable(dateOfBirth);
}
public void setDateOfBirth(LocalDate dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public List<String> getPreferences() {
return preferences;
}
public void setPreferences(List<String> preferences) {
this.preferences = preferences;
}
} }

View File

@ -1,29 +1,47 @@
package org.baeldung; package org.baeldung;
import java.time.LocalDate;
import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import java.util.Optional;
import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolation;
import javax.validation.Validation; import javax.validation.Validation;
import javax.validation.Validator; import javax.validation.Validator;
import javax.validation.ValidatorFactory; import javax.validation.ValidatorFactory;
import org.junit.Assert; import static org.junit.Assert.*;
import org.junit.Test; import org.junit.Test;
import org.junit.Before;
public class ValidationIntegrationTest { public class ValidationIntegrationTest {
private Validator validator;
@Before
public void setup() {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
validator = factory.getValidator();
}
private User createUser() {
User user = new User();
user.setName("John");
user.setWorking(true);
user.setAge(18);
return user;
}
@Test @Test
public void ifNameIsNull_nameValidationFails() { public void ifNameIsNull_nameValidationFails() {
User user = new User(); User user = new User();
user.setWorking(true); user.setWorking(true);
user.setAboutMe("Its all about me!!"); user.setAboutMe("Its all about me!!");
user.setAge(50); user.setAge(50);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user); Set<ConstraintViolation<User>> violations = validator.validate(user);
Assert.assertEquals(violations.isEmpty(), false); assertEquals(violations.isEmpty(), false);
} }
@Test @Test
@ -33,10 +51,8 @@ public class ValidationIntegrationTest {
user.setAboutMe("Its all about me!!"); user.setAboutMe("Its all about me!!");
user.setAge(50); user.setAge(50);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user); Set<ConstraintViolation<User>> violations = validator.validate(user);
Assert.assertEquals(violations.isEmpty(), false); assertEquals(violations.isEmpty(), false);
} }
@Test @Test
@ -46,10 +62,8 @@ public class ValidationIntegrationTest {
user.setAboutMe("Its all about me!!"); user.setAboutMe("Its all about me!!");
user.setAge(50); user.setAge(50);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user); Set<ConstraintViolation<User>> violations = validator.validate(user);
Assert.assertEquals(violations.isEmpty(), false); assertEquals(violations.isEmpty(), false);
} }
@Test @Test
@ -59,23 +73,54 @@ public class ValidationIntegrationTest {
user.setAboutMe("Its all about me!!"); user.setAboutMe("Its all about me!!");
user.setAge(8); user.setAge(8);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user); Set<ConstraintViolation<User>> violations = validator.validate(user);
Assert.assertEquals(violations.isEmpty(), false); assertEquals(violations.isEmpty(), false);
} }
@Test @Test
public void ifFnameNullAgeNotRangeAndWorkingIsFalse_validationFailsWithThreeErrors() { public void ifFnameNullAgeNotRangeAndWorkingIsFalse_validationFailsWithThreeErrors() {
User user = new User(); User user = new User();
user.setAboutMe("Its all about me!!"); user.setAboutMe("Its all about me!!");
user.setAge(300); user.setAge(300);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user); Set<ConstraintViolation<User>> violations = validator.validate(user);
Assert.assertEquals(violations.isEmpty(), false); assertEquals(violations.isEmpty(), false);
Assert.assertEquals(violations.size(), 3); assertEquals(violations.size(), 3);
}
@Test
public void givenInvalidEmail_thenValidationFails() {
User user = createUser();
user.setEmail("john");
Set<ConstraintViolation<User>> violations = validator.validate(user);
assertEquals(1, violations.size());
}
@Test
public void givenBlankPreference_thenValidationFails() {
User user = createUser();
user.setPreferences(Collections.singletonList(" "));
Set<ConstraintViolation<User>> violations = validator.validate(user);
assertEquals(1, violations.size());
}
@Test
public void givenEmptyOptional_thenValidationSucceeds() {
User user = createUser();
Set<ConstraintViolation<User>> violations = validator.validate(user);
assertEquals(0, violations.size());
}
@Test
public void givenPastDateOfBirth_thenValidationSuccess() {
User user = createUser();
user.setDateOfBirth(LocalDate.of(1980, 5, 20));
Set<ConstraintViolation<User>> violations = validator.validate(user);
assertEquals(0, violations.size());
} }
} }