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,56 +1,94 @@
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 {
@NotNull(message = "Name cannot be null") @NotNull(message = "Name cannot be null")
private String name; private String name;
@AssertTrue @AssertTrue
private boolean working; private boolean working;
@Size(min = 10, max = 200, message = "Number of characters should be in between 10 and 200 inclusive") @Size(min = 10, max = 200, message = "Number of characters should be in between 10 and 200 inclusive")
private String aboutMe; private String aboutMe;
@Min(value = 18, message = "Age should not be less than 18") @Min(value = 18, message = "Age should not be less than 18")
@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;
public int getAge() { @Email(message = "Email should be valid")
return age; private String email;
}
public void setAge(int age) { List<@NotBlank String> preferences;
this.age = age;
}
public boolean isWorking() { private LocalDate dateOfBirth;
return working;
}
public void setWorking(boolean working) { public int getAge() {
this.working = working; return age;
} }
public String getAboutMe() { public void setAge(int age) {
return aboutMe; this.age = age;
} }
public void setAboutMe(String aboutMe) { public boolean isWorking() {
this.aboutMe = aboutMe; return working;
} }
public String getName() { public void setWorking(boolean working) {
return name; this.working = working;
} }
public void setName(String name) { public String getAboutMe() {
this.name = name; return aboutMe;
} }
public void setAboutMe(String aboutMe) {
this.aboutMe = aboutMe;
}
public String getName() {
return name;
}
public void setName(String 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,81 +1,126 @@
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 {
@Test private Validator validator;
public void ifNameIsNull_nameValidationFails() {
User user = new User();
user.setWorking(true);
user.setAboutMe("Its all about me!!");
user.setAge(50);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); @Before
Validator validator = factory.getValidator(); public void setup() {
Set<ConstraintViolation<User>> violations = validator.validate(user); ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Assert.assertEquals(violations.isEmpty(), false); validator = factory.getValidator();
} }
@Test private User createUser() {
public void ifSizeNotInRange_aboutMeValidationFails() { User user = new User();
User user = new User(); user.setName("John");
user.setName("MyName"); user.setWorking(true);
user.setAboutMe("Its all about me!!"); user.setAge(18);
user.setAge(50); return user;
}
ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); @Test
Validator validator = factory.getValidator(); public void ifNameIsNull_nameValidationFails() {
Set<ConstraintViolation<User>> violations = validator.validate(user); User user = new User();
Assert.assertEquals(violations.isEmpty(), false); user.setWorking(true);
} user.setAboutMe("Its all about me!!");
user.setAge(50);
Set<ConstraintViolation<User>> violations = validator.validate(user);
assertEquals(violations.isEmpty(), false);
}
@Test @Test
public void ifWorkingIsFalse_workingValidationFails() { public void ifSizeNotInRange_aboutMeValidationFails() {
User user = new User(); User user = new User();
user.setName("MyName"); user.setName("MyName");
user.setAboutMe("Its all about me!!"); user.setAboutMe("Its all about me!!");
user.setAge(50); user.setAge(50);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Set<ConstraintViolation<User>> violations = validator.validate(user);
Validator validator = factory.getValidator(); assertEquals(violations.isEmpty(), false);
Set<ConstraintViolation<User>> violations = validator.validate(user); }
Assert.assertEquals(violations.isEmpty(), false);
}
@Test @Test
public void ifAgeNotRange_ageValidationFails() { public void ifWorkingIsFalse_workingValidationFails() {
User user = new User(); User user = new User();
user.setName("MyName"); user.setName("MyName");
user.setAboutMe("Its all about me!!"); user.setAboutMe("Its all about me!!");
user.setAge(8); user.setAge(50);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Set<ConstraintViolation<User>> violations = validator.validate(user);
Validator validator = factory.getValidator(); assertEquals(violations.isEmpty(), false);
Set<ConstraintViolation<User>> violations = validator.validate(user); }
Assert.assertEquals(violations.isEmpty(), false);
}
@Test
public void ifAgeNotRange_ageValidationFails() {
User user = new User();
user.setName("MyName");
user.setAboutMe("Its all about me!!");
user.setAge(8);
@Test Set<ConstraintViolation<User>> violations = validator.validate(user);
public void ifFnameNullAgeNotRangeAndWorkingIsFalse_validationFailsWithThreeErrors() { assertEquals(violations.isEmpty(), false);
User user = new User(); }
user.setAboutMe("Its all about me!!");
user.setAge(300);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); @Test
Validator validator = factory.getValidator(); public void ifFnameNullAgeNotRangeAndWorkingIsFalse_validationFailsWithThreeErrors() {
Set<ConstraintViolation<User>> violations = validator.validate(user); User user = new User();
Assert.assertEquals(violations.isEmpty(), false); user.setAboutMe("Its all about me!!");
Assert.assertEquals(violations.size(), 3); user.setAge(300);
}
Set<ConstraintViolation<User>> violations = validator.validate(user);
assertEquals(violations.isEmpty(), false);
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());
}
} }