From 32a43639c0d0e62c98cc0f26077a6a527d4c09db Mon Sep 17 00:00:00 2001 From: Emmanuel Bruno <emmanuel.bruno@univ-tln.fr> Date: Fri, 10 Dec 2021 11:39:14 +0100 Subject: [PATCH] adds a EJB test in a arquillan CDI container. --- jee/business/pom.xml | 28 ++++++++ .../bruno/samples/jee91/ejb/HelloTest.java | 47 +++++++++++++ ...ampleTest.java => SampleResourceTest.java} | 2 +- pom.xml | 66 +++++++++++++++++-- 4 files changed, 136 insertions(+), 7 deletions(-) create mode 100644 jee/business/src/test/java/fr/univtln/bruno/samples/jee91/ejb/HelloTest.java rename jee/restApp/src/test/java/fr/univtln/bruno/samples/{SampleTest.java => SampleResourceTest.java} (87%) diff --git a/jee/business/pom.xml b/jee/business/pom.xml index d0abff1..c3e9b80 100644 --- a/jee/business/pom.xml +++ b/jee/business/pom.xml @@ -12,6 +12,11 @@ <packaging>ejb</packaging> <dependencies> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + </dependency> + <dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> @@ -20,6 +25,29 @@ <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> </dependency> + <dependency> + <groupId>org.jboss.arquillian.junit5</groupId> + <artifactId>arquillian-junit5-container</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.jboss.arquillian.protocol</groupId> + <artifactId>arquillian-protocol-servlet-jakarta</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.jboss.arquillian.container</groupId> + <artifactId>arquillian-weld-embedded</artifactId> + <version>${arquillian-weld-embedded.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.jboss.weld</groupId> + <artifactId>weld-core-impl</artifactId> + <version>${weld.version}</version> + <scope>test</scope> + </dependency> + </dependencies> diff --git a/jee/business/src/test/java/fr/univtln/bruno/samples/jee91/ejb/HelloTest.java b/jee/business/src/test/java/fr/univtln/bruno/samples/jee91/ejb/HelloTest.java new file mode 100644 index 0000000..a0ef3db --- /dev/null +++ b/jee/business/src/test/java/fr/univtln/bruno/samples/jee91/ejb/HelloTest.java @@ -0,0 +1,47 @@ +package fr.univtln.bruno.samples.jee91.ejb; + +import fr.univtln.bruno.samples.jee91.ejb.qualifiers.SpokenLanguage; +import jakarta.inject.Inject; +import lombok.extern.java.Log; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +@ExtendWith(ArquillianExtension.class) +@Log +class HelloTest { + @Inject + Hello hello1; + + @Inject + @SpokenLanguage(SpokenLanguage.Language.ENGLISH) + Hello hello2; + + @Deployment + public static JavaArchive createDeployment() { + return ShrinkWrap.create(JavaArchive.class) + .addClass(HelloBean1.class) + .addClass(HelloBean2.class) + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); + } + + @Test + @DisplayName("Testing Hello in French") + public void shouldInjectHelloBean1() { + assertEquals(hello1.sayHello(), "Salut"); + } + + @Test + @DisplayName("Testing Hello in English") + public void shouldInjectHelloBean2() { + assertEquals(hello2.sayHello(), "Hi"); + } + +} \ No newline at end of file diff --git a/jee/restApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java b/jee/restApp/src/test/java/fr/univtln/bruno/samples/SampleResourceTest.java similarity index 87% rename from jee/restApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java rename to jee/restApp/src/test/java/fr/univtln/bruno/samples/SampleResourceTest.java index 8725af6..a529149 100644 --- a/jee/restApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java +++ b/jee/restApp/src/test/java/fr/univtln/bruno/samples/SampleResourceTest.java @@ -4,7 +4,7 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; -public class SampleTest { +public class SampleResourceTest { @Test public void simpleJUnit5Test() { diff --git a/pom.xml b/pom.xml index 157cd7d..b45f21f 100644 --- a/pom.xml +++ b/pom.xml @@ -18,32 +18,34 @@ <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> + <jakarta.jakartaee-api.version>9.0.0</jakarta.jakartaee-api.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <junit-jupiter.version>5.8.2</junit-jupiter.version> + <arquillian-weld-embedded.version>3.0.0.Final</arquillian-weld-embedded.version> + <weld.version>4.0.2.Final</weld.version> + </properties> <dependencyManagement> <dependencies> + <!-- JEE --> <dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> <version>${jakarta.jakartaee-api.version}</version> <scope>provided</scope> </dependency> - <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter</artifactId> - <version>${junit-jupiter.version}</version> - <scope>test</scope> - </dependency> + <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>compile</scope> </dependency> + <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> @@ -62,6 +64,58 @@ </exclusions> </dependency> + <!-- TEST --> + <dependency> + <groupId>org.junit</groupId> + <artifactId>junit-bom</artifactId> + <version>${junit-jupiter.version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>org.jboss.arquillian</groupId> + <artifactId>arquillian-bom</artifactId> + <version>1.7.0.Alpha10</version> + <scope>import</scope> + <type>pom</type> + </dependency> + + <dependency> + <groupId>org.jboss.arquillian.container</groupId> + <artifactId>arquillian-weld-embedded</artifactId> + <exclusions> + <exclusion> + <groupId>jakarta.ejb</groupId> + <artifactId>jakarta.ejb-api</artifactId> + </exclusion> + <exclusion> + <groupId>jakarta.transaction</groupId> + <artifactId>jakarta.transaction-api</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.jboss.logging</groupId> + <artifactId>jboss-logging-processor</artifactId> + <exclusions> + <exclusion> + <groupId>org.jboss.logging</groupId> + <artifactId>jboss-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.jboss.logging</groupId> + <artifactId>jboss-logging-annotations</artifactId> + <exclusions> + <exclusion> + <groupId>org.jboss.logging</groupId> + <artifactId>jboss-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> </dependencyManagement> -- GitLab