You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by st...@apache.org on 2020/04/10 15:46:07 UTC
[deltaspike] branch master updated: fix side effect of setting
project stage per System.properties
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 <st...@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()
{