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 16:16:39 UTC
[isis] branch master updated: ISIS-2445: try surefire fork mode again (2)
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 6f65cfa5de ISIS-2445: try surefire fork mode again (2)
6f65cfa5de is described below
commit 6f65cfa5de64646a2005ae43565160001287ad18
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Apr 9 18:16:33 2022 +0200
ISIS-2445: try surefire fork mode again (2)
---
.../testdomain/persistence/jpa/JpaQueryTest.java | 4 +-
.../JpaGeneratedLongIdEntityLifecycleTest.java | 49 ++++++++++-----------
...JpaNonGeneratedStringIdEntityLifecycleTest.java | 50 +++++++++++-----------
.../src/main/java/include.txt | 1 +
.../stable-rest/src/main/java/include.txt | 1 +
5 files changed, 52 insertions(+), 53 deletions(-)
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/JpaQueryTest.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/JpaQueryTest.java
index 0d72d04d5a..3d9b04ad67 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/JpaQueryTest.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/JpaQueryTest.java
@@ -58,7 +58,6 @@ import lombok.val;
@TestPropertySource(IsisPresets.UseLog4j2Test)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@Transactional
-@Disabled("fails to run in surefire fork mode")
class JpaQueryTest extends IsisIntegrationTestAbstract {
@Inject private JpaTestFixtures testFixtures;
@@ -71,8 +70,7 @@ class JpaQueryTest extends IsisIntegrationTestAbstract {
// Util_H2Console.main(null);
}
- @Inject
- ConfigurableBeanFactory configurableBeanFactory;
+ @Inject ConfigurableBeanFactory configurableBeanFactory;
@Test @Order(1)
void sampleInventory_shouldBeSetUpWith3Books() {
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaGeneratedLongIdEntityLifecycleTest.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaGeneratedLongIdEntityLifecycleTest.java
index 7440522919..70c12ce3fc 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaGeneratedLongIdEntityLifecycleTest.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaGeneratedLongIdEntityLifecycleTest.java
@@ -19,19 +19,15 @@
package org.apache.isis.testdomain.persistence.jpa.entitylifecycle;
import java.util.Objects;
-import java.util.concurrent.atomic.AtomicReference;
import javax.inject.Inject;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Commit;
-import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.TestPropertySource;
import org.springframework.transaction.annotation.Transactional;
@@ -47,6 +43,7 @@ import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.testdomain.conf.Configuration_usingJpa;
import org.apache.isis.testdomain.jpa.entities.JpaEntityGeneratedLongId;
+import org.apache.isis.testdomain.util.kv.KVStoreForTesting;
import lombok.val;
@@ -59,23 +56,12 @@ import lombok.val;
@Transactional
@TestPropertySource(IsisPresets.UseLog4j2Test)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
-@DirtiesContext
+//@DirtiesContext
class JpaGeneratedLongIdEntityLifecycleTest {
@Inject private RepositoryService repository;
@Inject private ObjectManager objectManager;
-
- private static AtomicReference<ManagedObject> entityRef;
-
- @BeforeAll
- static void beforeAll() {
- entityRef = new AtomicReference<>();
- }
-
- @AfterAll
- static void afterAll() {
- entityRef = null;
- }
+ @Inject private KVStoreForTesting kvStore;
@Test @Order(0) @Commit
void cleanup_justInCase() {
@@ -94,13 +80,14 @@ class JpaGeneratedLongIdEntityLifecycleTest {
EntityState.PERSISTABLE_DETACHED,
ManagedObjects.EntityUtil.getEntityState(entity));
- entityRef.set(entity);
+ setEntityRef(entity);
+
}
@Test @Order(2) @Commit
void attached_shouldBeProperlyDetected() {
- val entity = entityRef.get();
+ val entity = getEntityRef();
repository.persist(entity.getPojo());
@@ -117,9 +104,9 @@ class JpaGeneratedLongIdEntityLifecycleTest {
// expected post-condition (after persist, and having entered a new transaction)
assertEquals(
EntityState.PERSISTABLE_DETACHED,
- ManagedObjects.EntityUtil.getEntityState(entityRef.get()));
+ ManagedObjects.EntityUtil.getEntityState(getEntityRef()));
- val id = ((JpaEntityGeneratedLongId)entityRef.get().getPojo()).getId();
+ val id = ((JpaEntityGeneratedLongId)getEntityRef().getPojo()).getId();
val entity = objectManager.adapt(
repository.firstMatch(
@@ -137,22 +124,36 @@ class JpaGeneratedLongIdEntityLifecycleTest {
// expected post-condition (after removal)
assertDetachedOrDeleted(entity);
- entityRef.set(entity);
+ setEntityRef(entity);
}
@Test @Order(4) @Commit
void postCondition_shouldBe_anEmptyRepository() {
- val entity = entityRef.get();
+ val entity = getEntityRef();
assertDetachedOrDeleted(entity);
assertEquals(0, repository.allInstances(JpaEntityGeneratedLongId.class).size());
}
+ @Test @Order(5)
+ void cleanup() {
+ kvStore.clear(this);
+ }
+
// -- HELPER
- public static void assertDetachedOrDeleted(final ManagedObject entity) {
+ void setEntityRef(final ManagedObject entity) {
+ kvStore.put(this, "entity", entity);
+ }
+
+ ManagedObject getEntityRef() {
+ val entity = (ManagedObject) kvStore.get(this, "entity").get();
+ return entity;
+ }
+
+ static void assertDetachedOrDeleted(final ManagedObject entity) {
assertEquals(
EntityState.PERSISTABLE_DETACHED, // if undecidable we currently return PERSISTABLE_DETACHED;
ManagedObjects.EntityUtil.getEntityState(entity));
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaNonGeneratedStringIdEntityLifecycleTest.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaNonGeneratedStringIdEntityLifecycleTest.java
index 16c56d7003..48474068ff 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaNonGeneratedStringIdEntityLifecycleTest.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaNonGeneratedStringIdEntityLifecycleTest.java
@@ -19,20 +19,15 @@
package org.apache.isis.testdomain.persistence.jpa.entitylifecycle;
import java.util.Objects;
-import java.util.concurrent.atomic.AtomicReference;
import javax.inject.Inject;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Commit;
-import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.TestPropertySource;
import org.springframework.transaction.annotation.Transactional;
@@ -48,6 +43,7 @@ import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.testdomain.conf.Configuration_usingJpa;
import org.apache.isis.testdomain.jpa.entities.JpaEntityNonGeneratedStringId;
+import org.apache.isis.testdomain.util.kv.KVStoreForTesting;
import lombok.val;
@@ -60,24 +56,12 @@ import lombok.val;
@Transactional
@TestPropertySource(IsisPresets.UseLog4j2Test)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
-@DirtiesContext
-@Disabled("fails to run in surefire fork mode")
+//@DirtiesContext
class JpaNonGeneratedStringIdEntityLifecycleTest {
@Inject private RepositoryService repository;
@Inject private ObjectManager objectManager;
-
- private static AtomicReference<ManagedObject> entityRef;
-
- @BeforeAll
- static void beforeAll() {
- entityRef = new AtomicReference<>();
- }
-
- @AfterAll
- static void afterAll() {
- entityRef = null;
- }
+ @Inject private KVStoreForTesting kvStore;
@Test @Order(0) @Commit
void cleanup_justInCase() {
@@ -96,13 +80,13 @@ class JpaNonGeneratedStringIdEntityLifecycleTest {
EntityState.PERSISTABLE_DETACHED,
ManagedObjects.EntityUtil.getEntityState(entity));
- entityRef.set(entity);
+ setEntityRef(entity);
}
@Test @Order(2) @Commit
void attached_shouldBeProperlyDetected() {
- val entity = entityRef.get();
+ val entity = getEntityRef();
repository.persist(entity.getPojo());
@@ -119,9 +103,9 @@ class JpaNonGeneratedStringIdEntityLifecycleTest {
// expected post-condition (after persist, and having entered a new transaction)
assertEquals(
EntityState.PERSISTABLE_DETACHED,
- ManagedObjects.EntityUtil.getEntityState(entityRef.get()));
+ ManagedObjects.EntityUtil.getEntityState(getEntityRef()));
- val id = ((JpaEntityNonGeneratedStringId)entityRef.get().getPojo()).getName();
+ val id = ((JpaEntityNonGeneratedStringId)getEntityRef().getPojo()).getName();
val entity = objectManager.adapt(
repository.firstMatch(
@@ -139,22 +123,36 @@ class JpaNonGeneratedStringIdEntityLifecycleTest {
// expected post-condition (after removal)
assertDetachedOrDeleted(entity);
- entityRef.set(entity);
+ setEntityRef(entity);
}
@Test @Order(4) @Commit
void postCondition_shouldBe_anEmptyRepository() {
- val entity = entityRef.get();
+ val entity = getEntityRef();
assertDetachedOrDeleted(entity);
assertEquals(0, repository.allInstances(JpaEntityNonGeneratedStringId.class).size());
}
+ @Test @Order(5)
+ void cleanup() {
+ kvStore.clear(this);
+ }
+
// -- HELPER
- public static void assertDetachedOrDeleted(final ManagedObject entity) {
+ void setEntityRef(final ManagedObject entity) {
+ kvStore.put(this, "entity", entity);
+ }
+
+ ManagedObject getEntityRef() {
+ val entity = (ManagedObject) kvStore.get(this, "entity").get();
+ return entity;
+ }
+
+ static void assertDetachedOrDeleted(final ManagedObject entity) {
assertEquals(
EntityState.PERSISTABLE_DETACHED, // if undecidable we currently return PERSISTABLE_DETACHED;
ManagedObjects.EntityUtil.getEntityState(entity));
diff --git a/regressiontests/stable-publishing-jpa/src/main/java/include.txt b/regressiontests/stable-publishing-jpa/src/main/java/include.txt
new file mode 100644
index 0000000000..4f9c4e05b9
--- /dev/null
+++ b/regressiontests/stable-publishing-jpa/src/main/java/include.txt
@@ -0,0 +1 @@
+existence of the src/main/java folder, even if empty, suppresses build [WARNING] JAR will be empty - no content was marked for inclusion
\ No newline at end of file
diff --git a/regressiontests/stable-rest/src/main/java/include.txt b/regressiontests/stable-rest/src/main/java/include.txt
new file mode 100644
index 0000000000..4f9c4e05b9
--- /dev/null
+++ b/regressiontests/stable-rest/src/main/java/include.txt
@@ -0,0 +1 @@
+existence of the src/main/java folder, even if empty, suppresses build [WARNING] JAR will be empty - no content was marked for inclusion
\ No newline at end of file