Fixed integration test of spring-jpa module through inmemory H2 DB (#4740)
* [BAEL-7621] - Fixed integration test of spring-hibernate-5 module by introducing H2 database * [BAEL-7645] - Fixed integration test of spring-jpa module through H2 inmemory DB
This commit is contained in:
		
							parent
							
								
									bfb333d57f
								
							
						
					
					
						commit
						a9645c0938
					
				| @ -24,7 +24,7 @@ import com.google.common.base.Preconditions; | ||||
| 
 | ||||
| @Configuration | ||||
| @EnableTransactionManagement | ||||
| @PropertySource({ "classpath:persistence-mysql.properties" }) | ||||
| @PropertySource({ "classpath:persistence-h2.properties" }) | ||||
| @ComponentScan({ "org.baeldung.persistence" }) | ||||
| @EnableJpaRepositories(basePackages = "org.baeldung.persistence.dao") | ||||
| public class PersistenceJPAConfig { | ||||
|  | ||||
| @ -11,7 +11,7 @@ import javax.persistence.Table; | ||||
| public class Possession { | ||||
| 
 | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.AUTO) | ||||
|     @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|     private long id; | ||||
| 
 | ||||
|     private String name; | ||||
|  | ||||
| @ -15,7 +15,7 @@ import javax.persistence.Table; | ||||
| public class User { | ||||
| 
 | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.AUTO) | ||||
|     @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|     private int id; | ||||
| 
 | ||||
|     private String name; | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| jdbc.driverClassName=org.h2.Driver | ||||
| jdbc.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1 | ||||
| jdbc.user=sa | ||||
| # jdbc.pass= | ||||
| jdbc.pass= | ||||
| 
 | ||||
| # hibernate.X | ||||
| hibernate.dialect=org.hibernate.dialect.H2Dialect | ||||
|  | ||||
| @ -1,12 +1,12 @@ | ||||
| # jdbc.X | ||||
| jdbc.driverClassName=com.mysql.cj.jdbc.Driver | ||||
| user.jdbc.url=jdbc:mysql://localhost:3306/spring_jpa_user?createDatabaseIfNotExist=true | ||||
| product.jdbc.url=jdbc:mysql://localhost:3306/spring_jpa_product?createDatabaseIfNotExist=true | ||||
| jdbc.user=tutorialuser | ||||
| jdbc.pass=tutorialmy5ql | ||||
| jdbc.driverClassName=org.h2.Driver | ||||
| user.jdbc.url=jdbc:h2:mem:spring_jpa_user;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS SPRING_JPA_USER | ||||
| product.jdbc.url=jdbc:h2:mem:spring_jpa_product;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS SPRING_JPA_PRODUCT | ||||
| jdbc.user=sa | ||||
| jdbc.pass= | ||||
| 
 | ||||
| # hibernate.X | ||||
| hibernate.dialect=org.hibernate.dialect.MySQL5Dialect | ||||
| hibernate.dialect=org.hibernate.dialect.H2Dialect | ||||
| hibernate.show_sql=false | ||||
| hibernate.hbm2ddl.auto=create-drop | ||||
| hibernate.cache.use_second_level_cache=false | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| jdbc.driverClassName=org.h2.Driver | ||||
| jdbc.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1 | ||||
| jdbc.user=sa | ||||
| # jdbc.pass= | ||||
| jdbc.pass= | ||||
| 
 | ||||
| # hibernate.X | ||||
| hibernate.dialect=org.hibernate.dialect.H2Dialect | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd" | ||||
| > | ||||
| 
 | ||||
|     <context:property-placeholder location="classpath:persistence-mysql.properties"/> | ||||
|     <context:property-placeholder location="classpath:persistence-h2.properties"/> | ||||
| 
 | ||||
|     <bean id="myEmf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> | ||||
|         <property name="dataSource" ref="dataSource"/> | ||||
|  | ||||
| @ -9,11 +9,13 @@ import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.jdbc.core.JdbcTemplate; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringRunner; | ||||
| 
 | ||||
| @RunWith(SpringRunner.class) | ||||
| @ContextConfiguration(classes = DataSourceRoutingTestConfiguration.class) | ||||
| @DirtiesContext | ||||
| public class DataSourceRoutingIntegrationTest { | ||||
| 
 | ||||
|     @Autowired | ||||
|  | ||||
| @ -10,6 +10,6 @@ public class PersistenceJPAConfigDeletion extends PersistenceJPAConfigL2Cache { | ||||
| 
 | ||||
|     @Override | ||||
|     protected String[] getPackagesToScan() { | ||||
|         return new String[] { "org.baeldung.persistence.deletion.model" }; | ||||
|         return new String[] { "org.baeldung.persistence.deletion.model", "org.baeldung.persistence.model" }; | ||||
|     } | ||||
| } | ||||
| @ -11,6 +11,7 @@ import org.baeldung.inmemory.persistence.model.SkillTag; | ||||
| import org.baeldung.inmemory.persistence.model.Student; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||
| @ -26,6 +27,7 @@ import static org.junit.Assert.assertEquals; | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { StudentJpaConfig.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @Transactional | ||||
| @DirtiesContext | ||||
| public class AdvancedTaggingIntegrationTest { | ||||
|     @Resource | ||||
|     private StudentRepository studentRepository; | ||||
|  | ||||
| @ -12,11 +12,13 @@ import org.baeldung.inmemory.persistence.model.Student; | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| 
 | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { StudentJPAH2Config.class }) | ||||
| @DirtiesContext | ||||
| public class ExtendedStudentRepositoryIntegrationTest { | ||||
|     @Resource | ||||
|     private ExtendedStudentRepository extendedStudentRepository; | ||||
|  | ||||
| @ -5,6 +5,7 @@ import org.baeldung.inmemory.persistence.dao.StudentRepository; | ||||
| import org.baeldung.inmemory.persistence.model.Student; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||
| @ -20,6 +21,7 @@ import static org.junit.Assert.assertEquals; | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { StudentJpaConfig.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @Transactional | ||||
| @DirtiesContext | ||||
| public class InMemoryDBIntegrationTest { | ||||
| 
 | ||||
|     @Resource | ||||
|  | ||||
| @ -11,6 +11,7 @@ import org.springframework.data.domain.PageRequest; | ||||
| import org.springframework.data.domain.Sort; | ||||
| import org.springframework.data.jpa.domain.JpaSort; | ||||
| import org.springframework.data.mapping.PropertyReferenceException; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringRunner; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
| @ -25,6 +26,7 @@ import static org.assertj.core.api.Assertions.assertThat; | ||||
|  */ | ||||
| @RunWith(SpringRunner.class) | ||||
| @ContextConfiguration(classes = PersistenceJPAConfigL2Cache.class) | ||||
| @DirtiesContext | ||||
| public class UserRepositoryIntegrationTest { | ||||
| 
 | ||||
|     private final String USER_NAME_ADAM = "Adam"; | ||||
|  | ||||
| @ -8,6 +8,7 @@ import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||
| @ -23,6 +24,7 @@ import static org.junit.Assert.assertThat; | ||||
| 
 | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfigDeletion.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @DirtiesContext | ||||
| public class DeletionIntegrationTest { | ||||
| 
 | ||||
|     @PersistenceContext | ||||
|  | ||||
| @ -16,17 +16,20 @@ import javax.persistence.criteria.CriteriaQuery; | ||||
| import javax.persistence.criteria.Root; | ||||
| 
 | ||||
| import org.baeldung.config.PersistenceJPAConfig; | ||||
| import org.baeldung.config.PersistenceJPAConfigL2Cache; | ||||
| import org.baeldung.persistence.model.Foo; | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||
| 
 | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfig.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfigL2Cache.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @DirtiesContext | ||||
| public class FooPaginationPersistenceIntegrationTest { | ||||
| 
 | ||||
|     @PersistenceContext | ||||
|  | ||||
| @ -3,6 +3,7 @@ package org.baeldung.persistence.service; | ||||
| import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; | ||||
| 
 | ||||
| import org.baeldung.config.PersistenceJPAConfig; | ||||
| import org.baeldung.config.PersistenceJPAConfigL2Cache; | ||||
| import org.baeldung.persistence.model.Foo; | ||||
| import org.junit.Assert; | ||||
| import org.junit.Test; | ||||
| @ -11,12 +12,14 @@ import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.dao.DataAccessException; | ||||
| import org.springframework.dao.DataIntegrityViolationException; | ||||
| import org.springframework.dao.InvalidDataAccessApiUsageException; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||
| 
 | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfig.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfigL2Cache.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @DirtiesContext | ||||
| public class FooServicePersistenceIntegrationTest { | ||||
| 
 | ||||
|     @Autowired | ||||
|  | ||||
| @ -10,17 +10,19 @@ import javax.persistence.criteria.CriteriaBuilder; | ||||
| import javax.persistence.criteria.CriteriaQuery; | ||||
| import javax.persistence.criteria.Root; | ||||
| 
 | ||||
| import org.baeldung.config.PersistenceJPAConfig; | ||||
| import org.baeldung.config.PersistenceJPAConfigL2Cache; | ||||
| import org.baeldung.persistence.model.Bar; | ||||
| import org.baeldung.persistence.model.Foo; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||
| 
 | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfig.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfigL2Cache.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @DirtiesContext | ||||
| @SuppressWarnings("unchecked") | ||||
| public class FooServiceSortingIntegrationTest { | ||||
| 
 | ||||
|  | ||||
| @ -10,16 +10,19 @@ import javax.persistence.PersistenceContext; | ||||
| import javax.persistence.Query; | ||||
| 
 | ||||
| import org.baeldung.config.PersistenceJPAConfig; | ||||
| import org.baeldung.config.PersistenceJPAConfigL2Cache; | ||||
| import org.baeldung.persistence.model.Foo; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||
| 
 | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfig.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfigL2Cache.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @DirtiesContext | ||||
| public class FooServiceSortingWitNullsManualIntegrationTest { | ||||
| 
 | ||||
|     @PersistenceContext | ||||
|  | ||||
| @ -18,6 +18,7 @@ import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.dao.DataIntegrityViolationException; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | ||||
| @ -26,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { UserConfig.class, ProductConfig.class }) | ||||
| @EnableTransactionManagement | ||||
| @DirtiesContext | ||||
| public class JpaMultipleDBIntegrationTest { | ||||
| 
 | ||||
|     @Autowired | ||||
|  | ||||
| @ -8,6 +8,7 @@ import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||
| import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||
| @ -24,6 +25,7 @@ import static org.junit.Assert.assertThat; | ||||
| 
 | ||||
| @RunWith(SpringJUnit4ClassRunner.class) | ||||
| @ContextConfiguration(classes = { PersistenceJPAConfigL2Cache.class }, loader = AnnotationConfigContextLoader.class) | ||||
| @DirtiesContext | ||||
| public class SecondLevelCacheIntegrationTest { | ||||
| 
 | ||||
|     @PersistenceContext | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user