Cambiato il db (da h2 in memory a PostgreSQL locale)

Aggiunti due nuovi casi di test in ValidatorTest
This commit is contained in:
Daniele De Marco 2020-04-03 17:09:18 +02:00
parent 56f09331aa
commit 381ffe33bf
3 changed files with 109 additions and 75 deletions

12
pom.xml
View file

@ -66,16 +66,10 @@
</exclusions>
</dependency>
<!-- Databases - Uses H2 by default -->
<!-- Databases - postgresql implementation -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<!-- caching -->

View file

@ -1,12 +1,21 @@
# database init, supports mysql too
database=h2
spring.datasource.schema=classpath*:db/${database}/schema.sql
spring.datasource.data=classpath*:db/${database}/data.sql
# default connection pool
spring.datasource.hikari.connectionTimeout=20000
spring.datasource.hikari.maximumPoolSize=5
# PostgreSQL connection and inizialization
spring.datasource.url=jdbc:postgresql://localhost:5432/petclinic
spring.datasource.username=postgres
spring.datasource.password=pass
spring.datasource.sql-script-encoding= UTF-8
spring.datasource.schema=classpath*:db/postgres/schema.sql
spring.datasource.data=classpath*:db/postgres/data.sql
spring.datasource.initialization-mode=always
# Web
spring.thymeleaf.mode=HTML
# JPA
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.open-in-view=false

View file

@ -56,5 +56,36 @@ class ValidatorTests {
assertThat(violation.getPropertyPath().toString()).isEqualTo("firstName");
assertThat(violation.getMessage()).isEqualTo("must not be empty");
}
/*My test*/
@Test
void validateWhenFirstNameNotEmpty() {
LocaleContextHolder.setLocale(Locale.ENGLISH);
Person person = new Person();
person.setFirstName("john");
person.setLastName("smith");
Validator validator = createValidator();
Set<ConstraintViolation<Person>> constraintViolations = validator.validate(person);
assertThat(constraintViolations).hasSize(0);
}
/*My test*/
@Test
void shouldNotValidateWhenLastNameEmpty() {
LocaleContextHolder.setLocale(Locale.ENGLISH);
Person person = new Person();
person.setFirstName("john");
person.setLastName("");
Validator validator = createValidator();
Set<ConstraintViolation<Person>> constraintViolations = validator.validate(person);
assertThat(constraintViolations).hasSize(1);
ConstraintViolation<Person> violation = constraintViolations.iterator().next();
assertThat(violation.getPropertyPath().toString()).isEqualTo("lastName");
assertThat(violation.getMessage()).isEqualTo("must not be empty");
}
}