477 lines
18 KiB
XML
477 lines
18 KiB
XML
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.apache.activemq.tests</groupId>
|
|
<artifactId>artemis-tests-pom</artifactId>
|
|
<version>2.34.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>smoke-tests</artifactId>
|
|
<packaging>jar</packaging>
|
|
<name>Smoke Tests</name>
|
|
|
|
<properties>
|
|
<activemq.basedir>${project.basedir}/../../</activemq.basedir>
|
|
<sts-surefire-extra-args />
|
|
<artemis-distribution-lib-dir>-Ddistribution.lib="${activemq.basedir}/artemis-distribution/target/apache-artemis-${project.version}-bin/apache-artemis-${project.version}/lib"</artemis-distribution-lib-dir>
|
|
<sts-http-host>localhost</sts-http-host>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<!-- this dependency is here to make sure this module is only executed
|
|
after the distribution is created.
|
|
Otherwise it will get here before the build eventually.
|
|
e.g if you use mvn install -T 20 -->
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>apache-artemis</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>compile</scope>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-server</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq.tests</groupId>
|
|
<artifactId>artemis-test-support</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-core-client</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-jms-client</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-commons</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-cli</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-journal</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-common</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jctools</groupId>
|
|
<artifactId>jctools-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.qpid</groupId>
|
|
<artifactId>qpid-jms-client</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- logging -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-slf4j2-impl</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.fusesource.mqtt-client</groupId>
|
|
<artifactId>mqtt-client</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.paho</groupId>
|
|
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.jms</groupId>
|
|
<artifactId>jakarta.jms-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.management.j2ee</groupId>
|
|
<artifactId>jakarta.management.j2ee-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-firefox-driver</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-chrome-driver</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-chromium-driver</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-remote-driver</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.seleniumhq.selenium</groupId>
|
|
<artifactId>selenium-support</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>selenium</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- quorum tests -->
|
|
<dependency>
|
|
<groupId>org.apache.curator</groupId>
|
|
<artifactId>curator-recipes</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.curator</groupId>
|
|
<artifactId>curator-client</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.curator</groupId>
|
|
<artifactId>curator-framework</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.curator</groupId>
|
|
<artifactId>curator-test</artifactId>
|
|
<version>${curator.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.zookeeper</groupId>
|
|
<artifactId>zookeeper</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.zookeeper</groupId>
|
|
<artifactId>zookeeper-jute</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- The johnzon-core and json-api contents are repackaged in -commons,
|
|
However maven can still need them during tests, which run against
|
|
the original -commons classes when built+run in the same reactor,
|
|
and not the jar containing the shaded bits. -->
|
|
<dependency>
|
|
<groupId>org.apache.johnzon</groupId>
|
|
<artifactId>johnzon-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.json</groupId>
|
|
<artifactId>jakarta.json-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpcore</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-unit-test-support</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>false</filtering>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/filtered-resources</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-security-resources</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${basedir}/target/test-classes</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>../security-resources</directory>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-reference-for-upgrade-backup-checks</id>
|
|
<phase>process-test-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${project.build.directory}/reference-for-backup-check</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/filtered-resources</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<configuration>
|
|
<compilerArgs>
|
|
<arg>--add-exports=java.rmi/sun.rmi.server=ALL-UNNAMED</arg>
|
|
<arg>--add-exports=java.rmi/sun.rmi.transport=ALL-UNNAMED</arg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.activemq</groupId>
|
|
<artifactId>artemis-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>test-compile</phase>
|
|
<id>create-create-console</id>
|
|
<goals>
|
|
<goal>create</goal>
|
|
</goals>
|
|
<configuration>
|
|
<role>amq,connections,sessions,consumers,producers,addresses,queues</role>
|
|
<user>admin</user>
|
|
<password>admin</password>
|
|
<allowAnonymous>false</allowAnonymous>
|
|
<noWeb>false</noWeb>
|
|
<instance>${basedir}/target/console</instance>
|
|
<configuration>${basedir}/target/classes/servers/console</configuration>
|
|
<args>
|
|
<arg>--http-host</arg>
|
|
<arg>${sts-http-host}</arg>
|
|
<arg>--http-port</arg>
|
|
<arg>8161</arg>
|
|
</args>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<phase>test-compile</phase>
|
|
<id>upgrade-linux</id>
|
|
<goals>
|
|
<goal>upgrade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<instance>${basedir}/target/classes/servers/linuxUpgrade</instance>
|
|
<args>
|
|
<arg>--linux</arg>
|
|
<!-- we don't pass the java memory argumnent on purpose,
|
|
as the upgrade should keep the relevant JVM arguments during the upgrade -->
|
|
</args>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<phase>test-compile</phase>
|
|
<id>upgrade-windows</id>
|
|
<goals>
|
|
<goal>upgrade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<instance>${basedir}/target/classes/servers/windowsUpgrade</instance>
|
|
<args>
|
|
<arg>--windows</arg>
|
|
<!-- we don't pass the java memory argumnent on purpose,
|
|
as the upgrade should keep the relevant JVM arguments during the upgrade -->
|
|
</args>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<phase>test-compile</phase>
|
|
<id>createExpectedWindows</id>
|
|
<goals>
|
|
<goal>create</goal>
|
|
</goals>
|
|
<configuration>
|
|
<allowAnonymous>true</allowAnonymous>
|
|
<instance>${basedir}/target/classes/servers/windowsUpgradeExpected</instance>
|
|
<noWeb>false</noWeb>
|
|
<role>amq</role>
|
|
<user>y</user>
|
|
<password>y</password>
|
|
<args>
|
|
<arg>--windows</arg>
|
|
<arg>--etc</arg>
|
|
<arg>${basedir}/target/classes/servers/windowsUpgradeETCExpected</arg>
|
|
<arg>--java-memory</arg>
|
|
<arg>1G</arg>
|
|
</args>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<phase>test-compile</phase>
|
|
<id>createExpectedLinux</id>
|
|
<goals>
|
|
<goal>create</goal>
|
|
</goals>
|
|
<configuration>
|
|
<allowAnonymous>true</allowAnonymous>
|
|
<instance>${basedir}/target/classes/servers/linuxUpgradeExpected</instance>
|
|
<noWeb>false</noWeb>
|
|
<role>amq</role>
|
|
<user>y</user>
|
|
<password>y</password>
|
|
<args>
|
|
<arg>--etc</arg>
|
|
<arg>${basedir}/target/classes/servers/linuxUpgradeETCExpected</arg>
|
|
<arg>--java-memory</arg>
|
|
<arg>1G</arg>
|
|
</args>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<phase>test-compile</phase>
|
|
<id>upgrade-current-version-phase1</id>
|
|
<goals>
|
|
<goal>create</goal>
|
|
</goals>
|
|
<configuration>
|
|
<noWeb>false</noWeb>
|
|
<instance>${basedir}/target/upgrade/currentVersion</instance>
|
|
<args>
|
|
<arg>--disable-persistence</arg>
|
|
<arg>--linux</arg>
|
|
</args>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.activemq.tests</groupId>
|
|
<artifactId>smoke-tests</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<forkCount>1</forkCount>
|
|
<reuseForks>false</reuseForks>
|
|
<skipTests>${skipSmokeTests}</skipTests>
|
|
<argLine>${sts-surefire-extra-args} ${activemq-surefire-argline} ${artemis-distribution-lib-dir}</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>jdk16on</id>
|
|
<activation>
|
|
<jdk>[16,)</jdk>
|
|
</activation>
|
|
<properties>
|
|
<sts-surefire-extra-args>--add-opens=java.management.rmi/javax.management.remote.rmi=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.server=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED</sts-surefire-extra-args>
|
|
</properties>
|
|
</profile>
|
|
|
|
<profile>
|
|
<!-- Quick subset of tests, used on PR checks -->
|
|
<id>fast-tests</id>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<forkCount>1</forkCount>
|
|
<reuseForks>false</reuseForks>
|
|
<includes combine.children="override">
|
|
<include>**/smoke/upgradeTest/*Test.java</include>
|
|
</includes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
</profiles>
|
|
|
|
</project>
|