From b1b34e2fcad274cbe91737b2a6d1fbfbffb62ea6 Mon Sep 17 00:00:00 2001 From: abialas Date: Tue, 26 Jun 2018 23:54:11 +0200 Subject: [PATCH] BAEL-1924 (#4573) * BAEL-1412 add java 8 spring data features * BAEL-21 new HTTP API overview * BAEL-21 fix executor * BAEL-1432 add custom gradle task * BAEL-1567 add samples of cookie and session in serlvet * BAEL-1567 use stream api * BAEL-1567 fix optional * BAEL-1679 add query annotation jpa spring data * BAEL-1679 added new junits * BAEL-1679 use assertJ, use givenWhenThen naming convention * BAEL-1679 move query annotation examples to persistence modules * BAEL-1679 fix formatting * BAEL-659 add junits for repositories * BAEL-659 add one junit * BAEL-659 remove one duplicated dependency * BAEL-659 fix test class name * BAEL-1924 add import many files --- .../baeldung/{model => boot/domain}/User.java | 2 +- .../{ => boot}/repository/UserRepository.java | 4 +-- .../info/TotalUsersInfoContributor.java | 2 +- .../UserRepositoryDataJpaIntegrationTest.java | 30 +++++++++++++++++++ .../UserRepositoryIntegrationTest.java | 7 ++--- .../application-integrationtest.properties | 2 ++ .../src/test/resources/application.properties | 4 ++- .../test/resources/import_active_users.sql | 3 ++ .../test/resources/import_inactive_users.sql | 3 ++ 9 files changed, 48 insertions(+), 9 deletions(-) rename spring-boot/src/main/java/org/baeldung/{model => boot/domain}/User.java (96%) rename spring-boot/src/main/java/org/baeldung/{ => boot}/repository/UserRepository.java (97%) create mode 100644 spring-boot/src/test/java/org/baeldung/boot/repository/UserRepositoryDataJpaIntegrationTest.java rename spring-boot/src/test/java/org/baeldung/{ => boot}/repository/UserRepositoryIntegrationTest.java (95%) create mode 100644 spring-boot/src/test/resources/import_active_users.sql create mode 100644 spring-boot/src/test/resources/import_inactive_users.sql diff --git a/spring-boot/src/main/java/org/baeldung/model/User.java b/spring-boot/src/main/java/org/baeldung/boot/domain/User.java similarity index 96% rename from spring-boot/src/main/java/org/baeldung/model/User.java rename to spring-boot/src/main/java/org/baeldung/boot/domain/User.java index eb886338a0..b6d68b8c3c 100644 --- a/spring-boot/src/main/java/org/baeldung/model/User.java +++ b/spring-boot/src/main/java/org/baeldung/boot/domain/User.java @@ -1,4 +1,4 @@ -package org.baeldung.model; +package org.baeldung.boot.domain; import javax.persistence.Entity; import javax.persistence.GeneratedValue; diff --git a/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java b/spring-boot/src/main/java/org/baeldung/boot/repository/UserRepository.java similarity index 97% rename from spring-boot/src/main/java/org/baeldung/repository/UserRepository.java rename to spring-boot/src/main/java/org/baeldung/boot/repository/UserRepository.java index cba504b6c6..2463a416d2 100644 --- a/spring-boot/src/main/java/org/baeldung/repository/UserRepository.java +++ b/spring-boot/src/main/java/org/baeldung/boot/repository/UserRepository.java @@ -1,6 +1,6 @@ -package org.baeldung.repository; +package org.baeldung.boot.repository; -import org.baeldung.model.User; +import org.baeldung.boot.domain.User; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; diff --git a/spring-boot/src/main/java/org/baeldung/endpoints/info/TotalUsersInfoContributor.java b/spring-boot/src/main/java/org/baeldung/endpoints/info/TotalUsersInfoContributor.java index 34b50a2c0a..790584644f 100644 --- a/spring-boot/src/main/java/org/baeldung/endpoints/info/TotalUsersInfoContributor.java +++ b/spring-boot/src/main/java/org/baeldung/endpoints/info/TotalUsersInfoContributor.java @@ -3,7 +3,7 @@ package org.baeldung.endpoints.info; import java.util.HashMap; import java.util.Map; -import org.baeldung.repository.UserRepository; +import org.baeldung.boot.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.info.Info; import org.springframework.boot.actuate.info.InfoContributor; diff --git a/spring-boot/src/test/java/org/baeldung/boot/repository/UserRepositoryDataJpaIntegrationTest.java b/spring-boot/src/test/java/org/baeldung/boot/repository/UserRepositoryDataJpaIntegrationTest.java new file mode 100644 index 0000000000..dc4c6eedcf --- /dev/null +++ b/spring-boot/src/test/java/org/baeldung/boot/repository/UserRepositoryDataJpaIntegrationTest.java @@ -0,0 +1,30 @@ +package org.baeldung.boot.repository; + +import org.baeldung.boot.domain.User; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.util.Collection; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Created by adam. + */ +@RunWith(SpringRunner.class) +@DataJpaTest +public class UserRepositoryDataJpaIntegrationTest { + + @Autowired private UserRepository userRepository; + + @Test + public void givenTwoImportFilesWhenFindAllShouldReturnSixUsers() { + Collection users = userRepository.findAll(); + + assertThat(users.size()).isEqualTo(6); + } + +} diff --git a/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java b/spring-boot/src/test/java/org/baeldung/boot/repository/UserRepositoryIntegrationTest.java similarity index 95% rename from spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java rename to spring-boot/src/test/java/org/baeldung/boot/repository/UserRepositoryIntegrationTest.java index 72d204820e..a0f3a7a80f 100644 --- a/spring-boot/src/test/java/org/baeldung/repository/UserRepositoryIntegrationTest.java +++ b/spring-boot/src/test/java/org/baeldung/boot/repository/UserRepositoryIntegrationTest.java @@ -1,7 +1,7 @@ -package org.baeldung.repository; +package org.baeldung.boot.repository; import org.baeldung.boot.config.H2JpaConfig; -import org.baeldung.model.User; +import org.baeldung.boot.domain.User; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; @@ -27,8 +27,7 @@ public class UserRepositoryIntegrationTest { private final String USER_NAME_ADAM = "Adam"; private final Integer ACTIVE_STATUS = 1; - @Autowired - private UserRepository userRepository; + @Autowired private UserRepository userRepository; @Test public void givenEmptyDBWhenFindOneByNameThenReturnEmptyOptional() { diff --git a/spring-boot/src/test/resources/application-integrationtest.properties b/spring-boot/src/test/resources/application-integrationtest.properties index bcd03226d3..1a5bd502dd 100644 --- a/spring-boot/src/test/resources/application-integrationtest.properties +++ b/spring-boot/src/test/resources/application-integrationtest.properties @@ -2,3 +2,5 @@ spring.datasource.url=jdbc:mysql://localhost:3306/employee_int_test spring.datasource.username=root spring.datasource.password=root +spring.jpa.hibernate.ddl-auto=update +spring.datasource.data=import_*_users.sql diff --git a/spring-boot/src/test/resources/application.properties b/spring-boot/src/test/resources/application.properties index 85e4e6e66f..fef16d556e 100644 --- a/spring-boot/src/test/resources/application.properties +++ b/spring-boot/src/test/resources/application.properties @@ -16,4 +16,6 @@ hibernate.show_sql=true hibernate.hbm2ddl.auto=create-drop hibernate.cache.use_second_level_cache=true hibernate.cache.use_query_cache=true -hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory \ No newline at end of file +hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory + +spring.jpa.properties.hibernate.hbm2ddl.import_files=import_active_users.sql,import_inactive_users.sql \ No newline at end of file diff --git a/spring-boot/src/test/resources/import_active_users.sql b/spring-boot/src/test/resources/import_active_users.sql new file mode 100644 index 0000000000..e1bdfef5a8 --- /dev/null +++ b/spring-boot/src/test/resources/import_active_users.sql @@ -0,0 +1,3 @@ +insert into USERS(name, status, id) values('Peter', 1, 1); +insert into USERS(name, status, id) values('David', 1, 2); +insert into USERS(name, status, id) values('Ed', 1, 3); \ No newline at end of file diff --git a/spring-boot/src/test/resources/import_inactive_users.sql b/spring-boot/src/test/resources/import_inactive_users.sql new file mode 100644 index 0000000000..91bb759607 --- /dev/null +++ b/spring-boot/src/test/resources/import_inactive_users.sql @@ -0,0 +1,3 @@ +insert into users(name, status, id) values('Monica', 0, 4); +insert into users(name, status, id) values('Paul', 0, 5); +insert into users(name, status, id) values('George', 0, 6); \ No newline at end of file