Skip to content
Snippets Groups Projects
Commit a665fbad authored by Emmanuel Bruno's avatar Emmanuel Bruno
Browse files

Merge branch 'feature/tests' into develop

parents 945c1476 7c07796b
No related branches found
No related tags found
No related merge requests found
Showing
with 462 additions and 11 deletions
...@@ -2,7 +2,6 @@ set-hazelcast-configuration --enabled=true --dynamic=true ...@@ -2,7 +2,6 @@ set-hazelcast-configuration --enabled=true --dynamic=true
add-library /tmp/h2.jar add-library /tmp/h2.jar
create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:9092/payara;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE" My-H2-pool create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:9092/payara;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE" My-H2-pool
#create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:9092/payara;MODE=PostgreSQL" My-H2-pool
create-jdbc-resource --connectionpoolid My-H2-pool jdbc/my-h2-pool create-jdbc-resource --connectionpoolid My-H2-pool jdbc/my-h2-pool
# set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.cert-nickname=mycert # set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.cert-nickname=mycert
...@@ -22,8 +22,9 @@ ...@@ -22,8 +22,9 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.jakarta.rs</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-jakarta-rs-json-provider</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.13.0</version>
</dependency> </dependency>
</dependencies> </dependencies>
......
...@@ -16,10 +16,20 @@ ...@@ -16,10 +16,20 @@
<groupId>jakarta.platform</groupId> <groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId> <artifactId>jakarta.jakartaee-api</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-weld-embedded</artifactId>
<version>${arquillian-weld-embedded.version}</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.junit.jupiter</groupId> <groupId>org.jboss.weld</groupId>
<artifactId>junit-jupiter</artifactId> <artifactId>weld-core-impl</artifactId>
<version>${weld.version}</version>
<scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>
......
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;
@SuppressWarnings("unused")
@Deployment
public static JavaArchive createDeployment() {
return ShrinkWrap.create(JavaArchive.class)
.addClass(HelloBean1.class)
.addClass(HelloBean2.class)
.addAsManifestResource(EmptyAsset.INSTANCE, "META-INF/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
log4j.rootLogger=info, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=test-jee.business.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
\ No newline at end of file
...@@ -11,15 +11,23 @@ ...@@ -11,15 +11,23 @@
<artifactId>dao</artifactId> <artifactId>dao</artifactId>
<dependencies> <dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
</dependency>
<dependency> <dependency>
<groupId>fr.univtln.bruno.samples.jee91</groupId> <groupId>fr.univtln.bruno.samples.jee91</groupId>
<artifactId>entites</artifactId> <artifactId>entites</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
package fr.univtln.bruno.samples.jee91.dao.it;
import fr.univtln.bruno.samples.jee91.dao.PersonDAO;
import jakarta.inject.Inject;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import jakarta.transaction.UserTransaction;
import lombok.extern.slf4j.Slf4j;
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.spec.WebArchive;
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.PomEquippedResolveStage;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@ExtendWith(ArquillianExtension.class)
@Slf4j
class PersonTest {
@Inject
PersonDAO personDAO;
@Inject
UserTransaction utx;
@PersistenceContext(unitName = "myappPU")
private EntityManager em;
@Deployment
public static WebArchive createDeployment() {
PomEquippedResolveStage pomFile = Maven.resolver().loadPomFromFile("pom.xml");
/*File[] libs = Maven.configureResolver().loadPomFromFile("pom.xml")
.importRuntimeAndTestDependencies().resolve()
.withTransitivity().asFile();*/
return ShrinkWrap.create(WebArchive.class, "arquilian-dao-test.war")
.addPackage(PersonDAO.class.getPackage())
.addPackage(fr.univtln.bruno.samples.jee91.dao.entitymanagersproducers.H2Database.class.getPackage())
.addAsLibraries(pomFile.resolve("org.slf4j:slf4j-log4j12:1.7.32").withTransitivity().asFile())
.addAsLibraries(pomFile.resolve("com.fasterxml.jackson.core:jackson-databind:2.13.0").withTransitivity().asFile())
.addAsWebInfResource("web.xml")
.addAsResource("insert.sql")
.addAsResource("META-INF/beans.xml", "META-INF/beans.xml")
.addAsResource("META-INF/persistence.xml", "META-INF/persistence.xml");
// .addAsLibraries(libs);
}
@Test
@DisplayName("Testing Person findall")
public void shouldInjectHelloBean1() {
log.info(personDAO.findAll().toString());
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
bean-discovery-mode="all">
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd"
version="3.0">
<persistence-unit name="myappPU" transaction-type="JTA">
<jta-data-source>java:global/datasource</jta-data-source>
<!--class>fr.univtln.bruno.samples.jee91.dao.Person</class-->
<properties>
<property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create" />
<property name="jakarta.persistence.sql-load-script-source" value="insert.sql" />
</properties>
</persistence-unit>
</persistence>
\ No newline at end of file
<arquillian
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://jboss.org/schema/arquillian"
xsi:schemaLocation="http://jboss.org/schema/arquillian https://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<!-- <defaultProtocol type="Servlet 5.0"/>-->
<!--engine>
<property name="deploymentExportPath">target/</property>
</engine-->
<container qualifier="payara-managed">
<configuration>
<property name="allowConnectingToRunningServer">false</property>
<property name="adminHost">localhost</property>
<property name="adminPort">4848</property>
<property name="enableH2">${enableH2:false}</property>
<property name="outputToConsole">true</property>
</configuration>
</container>
</arquillian>
\ No newline at end of file
INSERT INTO "public"."person" ("name", "uuid") VALUES ('Yves', 'ACED00057372000E6A6176612E7574696C2E55554944BC9903F7986D852F0200024A000C6C65617374536967426974734A000B6D6F7374536967426974737870B25A000916801FE374FCFAC5DCF94C11');
INSERT INTO "public"."person" ("name", "uuid") VALUES ('Pierre', 'ACED00057372000E6A6176612E7574696C2E55554944BC9903F7986D852F0200024A000C6C65617374536967426974734A000B6D6F7374536967426974737870B8F28F7D3945291756DAC7325DF44938');
INSERT INTO "public"."person" ("name", "uuid") VALUES ('Marie', 'ACED00057372000E6A6176612E7574696C2E55554944BC9903F7986D852F0200024A000C6C65617374536967426974734A000B6D6F73745369674269747378709AA3211A9B897403843C82366C6B450E');
INSERT INTO "public"."person" ("name", "uuid") VALUES ('Jeanne', 'ACED00057372000E6A6176612E7574696C2E55554944BC9903F7986D852F0200024A000C6C65617374536967426974734A000B6D6F7374536967426974737870BC1580AEB48C0F0C0B3C82E884AA4C3C');
log4j.rootLogger=info, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=test-jee.dao.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
<data-source>
<name>java:global/datasource</name>
<class-name>org.h2.jdbcx.JdbcDataSource</class-name>
<url>jdbc:h2:mem:test;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE</url>
<!--url>jdbc:h2:mem:test;MODE=PostgreSQL</url-->
</data-source>
</web-app>
\ No newline at end of file
...@@ -53,6 +53,17 @@ ...@@ -53,6 +53,17 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>fish.payara.arquillian</groupId>
<artifactId>arquillian-payara-server-embedded</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>fish.payara.extras</groupId>
<artifactId>payara-embedded-all</artifactId>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
...@@ -98,6 +109,15 @@ ...@@ -98,6 +109,15 @@
</modules> </modules>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
......
...@@ -15,7 +15,7 @@ public class ViewPersonBean { ...@@ -15,7 +15,7 @@ public class ViewPersonBean {
@Inject @Inject
PersonDAO personDAO; PersonDAO personDAO;
private final String message = "Hello"; private final String message = "Hello 1";
public String getMessage() { public String getMessage() {
return this.message; return this.message;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
xml:lang="en"> xml:lang="en">
<h:head> <h:head>
<title>Person list</title> <title>A Person list</title>
</h:head> </h:head>
<h:body> <h:body>
......
...@@ -31,6 +31,198 @@ ...@@ -31,6 +31,198 @@
<artifactId>jakarta.jakartaee-api</artifactId> <artifactId>jakarta.jakartaee-api</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</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.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-depchain</artifactId>
<scope>test</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>fish.payara.arquillian</groupId>
<artifactId>payara-client-ee9</artifactId>
<version>${arquillian-payara.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>arq-payara-micro</id>
<dependencies>
<dependency>
<groupId>fish.payara.arquillian</groupId>
<artifactId>arquillian-payara-micro-managed</artifactId>
<version>${arquillian-payara.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>fish.payara.extras</groupId>
<artifactId>payara-micro</artifactId>
<version>${payara.version}</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
<destFileName>payara-micro.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<payara.microJar>${project.build.directory}/payara-micro.jar</payara.microJar>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<id>arq-payara-managed</id>
<dependencies>
<dependency>
<groupId>fish.payara.arquillian</groupId>
<artifactId>arquillian-payara-server-managed</artifactId>
<version>${arquillian-payara.version}</version>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>unpack</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>fish.payara.distributions</groupId>
<artifactId>payara</artifactId>
<version>${payara.version}</version>
<type>zip</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>copy-h2-1</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/payara6/glassfish/h2db/bin/</outputDirectory>
<destFileName>h2.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>copy-h2-2</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/payara6/h2db/bin/</outputDirectory>
<destFileName>h2.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<payara.home>${project.build.directory}/payara6</payara.home>
<arquillian.launch>payara-managed</arquillian.launch>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project> </project>
\ No newline at end of file
...@@ -30,11 +30,36 @@ ...@@ -30,11 +30,36 @@
<groupId>jakarta.platform</groupId> <groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId> <artifactId>jakarta.jakartaee-api</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.junit.jupiter</groupId> <groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId> <artifactId>junit-jupiter</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</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.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>3.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jakarta.rs</groupId>
<artifactId>jackson-jakarta-rs-json-provider</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment