This is an automated email from the ASF dual-hosted git repository. struberg pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/deltaspike.git
The following commit(s) were added to refs/heads/master by this push: new 4d10c2f fix side effect of setting project stage per System.properties 4d10c2f is described below commit 4d10c2f7fce34d380f92d5d89de97e0550eb40c3 Author: Mark Struberg <strub...@apache.org> AuthorDate: Fri Apr 10 17:35:07 2020 +0200 fix side effect of setting project stage per System.properties This did lead to randomly failing tests depending on the order in which the unit tests did run. --- .../ExcludeTestProjectStageWarFileDevelopment.java | 18 +++++++++++++++--- .../test/core/api/exclude/ExcludeWarFileTest.java | 16 +++++++++++++--- .../test/core/api/exclude/uc001/EntityExcludeTest.java | 16 +++++++++++++--- 3 files changed, 41 insertions(+), 9 deletions(-) diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeTestProjectStageWarFileDevelopment.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeTestProjectStageWarFileDevelopment.java index f1da788..ed94cdb 100644 --- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeTestProjectStageWarFileDevelopment.java +++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeTestProjectStageWarFileDevelopment.java @@ -19,14 +19,18 @@ package org.apache.deltaspike.test.core.api.exclude; +import org.apache.deltaspike.core.api.projectstage.ProjectStage; import org.apache.deltaspike.core.util.ProjectStageProducer; import org.apache.deltaspike.test.util.ArchiveUtils; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.asset.StringAsset; import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.After; +import org.junit.AfterClass; import org.junit.runner.RunWith; /** @@ -44,16 +48,24 @@ public class ExcludeTestProjectStageWarFileDevelopment extends ExcludeTestProjec String simpleName = ExcludeTestProjectStageWarFileDevelopment.class.getSimpleName(); String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1); - System.setProperty("org.apache.deltaspike.ProjectStage", "Development"); - ProjectStageProducer.setProjectStage(null); + // in case the Arquillian adapter doesn't properly handle resources on the classpath + ProjectStageProducer.setProjectStage(ProjectStage.Development); JavaArchive testJar = ShrinkWrap.create(JavaArchive.class, "excludeTestProjectStageDevelopmentTest.jar") .addPackage(ExcludeTestProjectStageWarFileDevelopment.class.getPackage()) - .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") + .addAsResource(new StringAsset("org.apache.deltaspike.ProjectStage = Development"), + "apache-deltaspike.properties"); // when deployed on some remote container return ShrinkWrap.create(WebArchive.class, archiveName + ".war") .addAsLibraries(ArchiveUtils.getDeltaSpikeCoreArchive()) .addAsLibraries(testJar) .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); } + + @AfterClass + public static void resetProjectStage() { + ProjectStageProducer.setProjectStage(null); + } + } diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeWarFileTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeWarFileTest.java index 515b4d4..156201d 100644 --- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeWarFileTest.java +++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/ExcludeWarFileTest.java @@ -18,6 +18,7 @@ */ package org.apache.deltaspike.test.core.api.exclude; +import org.apache.deltaspike.core.api.projectstage.ProjectStage; import org.apache.deltaspike.core.impl.exclude.extension.ExcludeExtension; import org.apache.deltaspike.core.util.ProjectStageProducer; import org.apache.deltaspike.test.core.impl.activation.TestClassDeactivator; @@ -27,8 +28,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.asset.StringAsset; import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.AfterClass; import org.junit.runner.RunWith; import javax.enterprise.inject.spi.Extension; @@ -49,8 +52,8 @@ public class ExcludeWarFileTest extends ExcludeTest String simpleName = ExcludeWarFileTest.class.getSimpleName(); String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1); - System.setProperty("org.apache.deltaspike.ProjectStage", "Production"); - ProjectStageProducer.setProjectStage(null); + // in case the Arquillian adapter doesn't properly handle resources on the classpath + ProjectStageProducer.setProjectStage(ProjectStage.Production); URL fileUrl = ExcludeWarFileTest.class.getClassLoader() .getResource("META-INF/apache-deltaspike.properties"); @@ -59,7 +62,9 @@ public class ExcludeWarFileTest extends ExcludeTest .addPackage(ExcludeWarFileTest.class.getPackage()) .addPackage(TestClassDeactivator.class.getPackage()) .addAsManifestResource(FileUtils.getFileForURL(fileUrl.toString())) - .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") + .addAsResource(new StringAsset("org.apache.deltaspike.ProjectStage = Production"), + "apache-deltaspike.properties"); // when deployed on some remote container; return ShrinkWrap.create(WebArchive.class, archiveName + ".war") .addAsLibraries(ArchiveUtils.getDeltaSpikeCoreArchive()) @@ -67,4 +72,9 @@ public class ExcludeWarFileTest extends ExcludeTest .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml") .addAsServiceProvider(Extension.class, ExcludeExtension.class); } + + @AfterClass + public static void resetProjectStage() { + ProjectStageProducer.setProjectStage(null); + } } diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/uc001/EntityExcludeTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/uc001/EntityExcludeTest.java index d1a5cce..88f944f 100644 --- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/uc001/EntityExcludeTest.java +++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/exclude/uc001/EntityExcludeTest.java @@ -18,6 +18,7 @@ */ package org.apache.deltaspike.test.core.api.exclude.uc001; +import org.apache.deltaspike.core.api.projectstage.ProjectStage; import org.apache.deltaspike.core.api.provider.BeanProvider; import org.apache.deltaspike.core.util.ProjectStageProducer; import org.apache.deltaspike.test.util.ArchiveUtils; @@ -25,8 +26,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.asset.StringAsset; import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.AfterClass; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; @@ -40,12 +43,14 @@ public class EntityExcludeTest String simpleName = EntityExcludeTest.class.getSimpleName(); String archiveName = simpleName.substring(0, 1).toLowerCase() + simpleName.substring(1); - System.setProperty("org.apache.deltaspike.ProjectStage", "Development"); - ProjectStageProducer.setProjectStage(null); + // in case the Arquillian adapter doesn't properly handle resources on the classpath + ProjectStageProducer.setProjectStage(ProjectStage.Development); JavaArchive testJar = ShrinkWrap.create(JavaArchive.class, archiveName + ".jar") .addPackage(EntityExcludeTest.class.getPackage()) - .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") + .addAsResource(new StringAsset("org.apache.deltaspike.ProjectStage = Development"), + "apache-deltaspike.properties"); // when deployed on some remote container; return ShrinkWrap.create(WebArchive.class, archiveName + ".war") .addAsLibraries(ArchiveUtils.getDeltaSpikeCoreArchive()) @@ -53,6 +58,11 @@ public class EntityExcludeTest .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); } + @AfterClass + public static void resetProjectStage() { + ProjectStageProducer.setProjectStage(null); + } + @Test public void entityWithoutExclusion() {