Skip to content

Commit b851417

Browse files
author
eugenp
committed
further persistence tests
1 parent cc7775d commit b851417

File tree

6 files changed

+50
-7
lines changed

6 files changed

+50
-7
lines changed

spring-exceptions/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@
8787
<artifactId>guava</artifactId>
8888
<version>${guava.version}</version>
8989
</dependency>
90+
<dependency>
91+
<groupId>org.apache.commons</groupId>
92+
<artifactId>commons-lang3</artifactId>
93+
<version>${commons-lang3.version}</version>
94+
<scope>test</scope>
95+
</dependency>
9096

9197
<!-- test scoped -->
9298

spring-exceptions/src/main/java/org/baeldung/ex/dataIntegrityviolationexception/spring/Cause2DataContextWithJavaConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package org.baeldung.ex.dataIntegrityviolationexception.spring;
22

3+
import org.baeldung.spring.config.PersistenceConfig;
34
import org.springframework.context.annotation.ComponentScan;
45
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.context.annotation.Import;
57

68
@Configuration
79
@ComponentScan("org.baeldung.ex.dataIntegrityviolationexception.cause2")
10+
@Import(PersistenceConfig.class)
811
public class Cause2DataContextWithJavaConfig {
912

1013
public Cause2DataContextWithJavaConfig() {

spring-exceptions/src/main/java/org/baeldung/ex/dataIntegrityviolationexception/spring/Cause3DataContextWithJavaConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package org.baeldung.ex.dataIntegrityviolationexception.spring;
22

3+
import org.baeldung.spring.config.PersistenceConfig;
34
import org.springframework.context.annotation.ComponentScan;
45
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.context.annotation.Import;
57

68
@Configuration
79
@ComponentScan("org.baeldung.ex.dataIntegrityviolationexception.cause3")
10+
@Import(PersistenceConfig.class)
811
public class Cause3DataContextWithJavaConfig {
912

1013
public Cause3DataContextWithJavaConfig() {

spring-exceptions/src/test/java/org/baeldung/ex/dataIntegrityviolationexception/Cause1DataIntegrityViolationExceptionIntegrationTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,16 @@ public void whenChildIsDeletedWhileParentStillHasForeignKeyToIt_thenDataExceptio
3636
childService.delete(childEntity);
3737
}
3838

39+
@Test
40+
public void whenChildIsDeletedAfterTheParent_thenNoExceptions() {
41+
final Child childEntity = new Child();
42+
childService.create(childEntity);
43+
44+
final Parent parentEntity = new Parent(childEntity);
45+
service.create(parentEntity);
46+
47+
service.delete(parentEntity);
48+
childService.delete(childEntity);
49+
}
50+
3951
}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package org.baeldung.ex.dataIntegrityviolationexception;
22

33
import org.baeldung.ex.dataIntegrityviolationexception.spring.Cause2DataContextWithJavaConfig;
4+
import org.baeldung.persistence.model.Foo;
5+
import org.baeldung.persistence.service.IFooService;
46
import org.junit.Test;
57
import org.junit.runner.RunWith;
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.dao.DataIntegrityViolationException;
610
import org.springframework.test.context.ContextConfiguration;
711
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
812
import org.springframework.test.context.support.AnnotationConfigContextLoader;
@@ -11,9 +15,13 @@
1115
@ContextConfiguration(classes = { Cause2DataContextWithJavaConfig.class }, loader = AnnotationConfigContextLoader.class)
1216
public class Cause2DataIntegrityViolationExceptionIntegrationTest {
1317

14-
@Test
15-
public final void givenContextIsInitialized_thenNoException() {
16-
//
17-
}
18+
@Autowired
19+
private IFooService fooService;
20+
21+
// tests
1822

23+
@Test(expected = DataIntegrityViolationException.class)
24+
public void whenInvalidEntityIsCreated_thenDataException() {
25+
fooService.create(new Foo());
26+
}
1927
}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
package org.baeldung.ex.dataIntegrityviolationexception;
22

3+
import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
4+
35
import org.baeldung.ex.dataIntegrityviolationexception.spring.Cause3DataContextWithJavaConfig;
6+
import org.baeldung.persistence.model.Foo;
7+
import org.baeldung.persistence.service.IFooService;
48
import org.junit.Test;
59
import org.junit.runner.RunWith;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.dao.DataIntegrityViolationException;
612
import org.springframework.test.context.ContextConfiguration;
713
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
814
import org.springframework.test.context.support.AnnotationConfigContextLoader;
@@ -11,9 +17,14 @@
1117
@ContextConfiguration(classes = { Cause3DataContextWithJavaConfig.class }, loader = AnnotationConfigContextLoader.class)
1218
public class Cause3DataIntegrityViolationExceptionIntegrationTest {
1319

14-
@Test
15-
public final void givenContextIsInitialized_thenNoException() {
16-
//
20+
@Autowired
21+
private IFooService fooService;
22+
23+
// tests
24+
25+
@Test(expected = DataIntegrityViolationException.class)
26+
public final void whenEntityWithLongNameIsCreated_thenDataException() {
27+
fooService.create(new Foo(randomAlphabetic(2048)));
1728
}
1829

1930
}

0 commit comments

Comments
 (0)