You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/04/09 18:46:07 UTC
[isis] branch master updated: ISIS-2445: synchronize JPA testing when in fork mode (3)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 92bfcb2e5a ISIS-2445: synchronize JPA testing when in fork mode (3)
92bfcb2e5a is described below
commit 92bfcb2e5a4d4570dc65c0e49930399d008f600a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Apr 9 20:46:01 2022 +0200
ISIS-2445: synchronize JPA testing when in fork mode (3)
---
.../injecting/jpa/JpaEntityInjectingTest.java | 18 ++++++++++++------
...ransactionRollbackTest_usingInteractionService.java | 3 +++
...ransactionRollbackTest_usingTransactionService.java | 6 +++++-
.../jpa/JpaTransactionScopeListenerTest.java | 3 +++
.../isis/testdomain/util/kv/KVStoreForTesting.java | 2 ++
5 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/injecting/jpa/JpaEntityInjectingTest.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/injecting/jpa/JpaEntityInjectingTest.java
index 3d77614af8..25a67c769b 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/injecting/jpa/JpaEntityInjectingTest.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/injecting/jpa/JpaEntityInjectingTest.java
@@ -30,6 +30,7 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.transaction.annotation.Transactional;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.isis.applib.services.repository.RepositoryService;
@@ -66,10 +67,15 @@ class JpaEntityInjectingTest extends IsisIntegrationTestAbstract {
@Inject private RepositoryService repository;
@Inject private KVStoreForTesting kvStore;
- @Test @Order(0) @Rollback(false)
+ @Test @Order(0)
void init() {
-
+ assertNotNull(fixtureScripts);
kvStore.requestLock(JpaTestDomainPersona.class);
+ assertNotNull(fixtureScripts);
+ }
+
+ @Test @Order(1) @Rollback(false)
+ void setup() {
// cleanup
fixtureScripts.runPersona(JpaTestDomainPersona.InventoryPurgeAll);
@@ -81,7 +87,7 @@ class JpaEntityInjectingTest extends IsisIntegrationTestAbstract {
}
- @Test @Order(1)
+ @Test @Order(2)
void sampleBook_shouldHave_injectionPointsResolved() {
log.debug("TEST 1 ENTERING");
@@ -95,7 +101,7 @@ class JpaEntityInjectingTest extends IsisIntegrationTestAbstract {
log.debug("TEST 1 EXITING");
}
- @Test @Order(2)
+ @Test @Order(3)
void sampleBook_shouldHave_injectionPointsResolved_whenFetchedAgain() {
log.debug("TEST 2 ENTERING");
@@ -111,7 +117,7 @@ class JpaEntityInjectingTest extends IsisIntegrationTestAbstract {
}
- @Test @Order(3)
+ @Test @Order(4)
void sampleBook_shouldHave_injectionPointsResolved_whenFetchedAgain2() {
log.debug("TEST 3 ENTERING");
@@ -127,7 +133,7 @@ class JpaEntityInjectingTest extends IsisIntegrationTestAbstract {
}
- @Test @Order(4)
+ @Test @Order(5)
void cleanUp() {
kvStore.releaseLock(JpaTestDomainPersona.class);
}
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionRollbackTest_usingInteractionService.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionRollbackTest_usingInteractionService.java
index 91107f7f74..3a4df498d1 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionRollbackTest_usingInteractionService.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionRollbackTest_usingInteractionService.java
@@ -34,6 +34,7 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.TestPropertySource;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.isis.applib.services.iactnlayer.InteractionService;
@@ -82,7 +83,9 @@ class JpaTransactionRollbackTest_usingInteractionService
@BeforeEach
void setUp() {
+ assertNotNull(fixtureScripts);
kvStore.requestLock(JpaTestDomainPersona.class);
+ assertNotNull(fixtureScripts);
// cleanup
fixtureScripts.runPersona(JpaTestDomainPersona.InventoryPurgeAll);
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionRollbackTest_usingTransactionService.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionRollbackTest_usingTransactionService.java
index 11a4447139..d47e802104 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionRollbackTest_usingTransactionService.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionRollbackTest_usingTransactionService.java
@@ -31,9 +31,11 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service;
import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.annotation.DirtiesContext.ClassMode;
import org.springframework.test.context.TestPropertySource;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.isis.applib.services.repository.RepositoryService;
@@ -64,7 +66,7 @@ import lombok.val;
})
@TestPropertySource(IsisPresets.UseLog4j2Test)
@ExtendWith({IsisInteractionHandler.class})
-@DirtiesContext
+@DirtiesContext(classMode = ClassMode.AFTER_CLASS)
class JpaTransactionRollbackTest_usingTransactionService
//extends IsisIntegrationTestAbstract
{
@@ -80,7 +82,9 @@ class JpaTransactionRollbackTest_usingTransactionService
@BeforeEach
void setUp() {
+ assertNotNull(fixtureScripts);
kvStore.requestLock(JpaTestDomainPersona.class);
+ assertNotNull(fixtureScripts);
// cleanup
fixtureScripts.runPersona(JpaTestDomainPersona.InventoryPurgeAll);
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionScopeListenerTest.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionScopeListenerTest.java
index 86e19e5b10..13ebef26f3 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionScopeListenerTest.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/transactions/jpa/JpaTransactionScopeListenerTest.java
@@ -29,6 +29,7 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.TestPropertySource;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.apache.isis.applib.services.iactnlayer.InteractionService;
import org.apache.isis.applib.services.repository.RepositoryService;
@@ -73,7 +74,9 @@ class JpaTransactionScopeListenerTest {
@BeforeEach
void setUp() {
+ assertNotNull(fixtureScripts);
kvStore.requestLock(JpaTestDomainPersona.class);
+ assertNotNull(fixtureScripts);
// new IsisInteractionScope with a new transaction (#1)
interactionService.runAnonymous(()->{
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/kv/KVStoreForTesting.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/kv/KVStoreForTesting.java
index 0a65dd883a..59dcce412f 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/kv/KVStoreForTesting.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/kv/KVStoreForTesting.java
@@ -145,7 +145,9 @@ public class KVStoreForTesting {
synchronized(this) {
val latch = latchMap.get(callerType);
if(latch!=null) {
+ log.warn("entering WAIT state until lock becomes available");
latch.await();
+ log.info("lock has become available");
}
val newLatch = new CountDownLatch(1);
latchMap.put(callerType, newLatch);