From 2a26e46a8c93635222b42107e307c7f17690fdf0 Mon Sep 17 00:00:00 2001 From: Tiago Bueno <49003339+tlbueno@users.noreply.github.com> Date: Fri, 21 Jan 2022 14:38:18 -0300 Subject: [PATCH] NO-JIRA fix ManifestTest As the test needs the generated jms jars to be verified I moved it from unit-tests to smoke-tests. Updated the test to look for the correct jars as the originally specified does not exist. Update the test to assert against Implementation-Version instead of ActiveMQ-Version in the manifest file as the ActiveMQ-Version property does not exist. --- tests/pom.xml | 4 -- tests/smoke-tests/pom.xml | 3 +- .../tests/smoke/jms}/ManifestTest.java | 46 ++++++++++--------- 3 files changed, 27 insertions(+), 26 deletions(-) rename tests/{unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/jms/misc => smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jms}/ManifestTest.java (57%) diff --git a/tests/pom.xml b/tests/pom.xml index b24834618a..016c5e49c9 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -85,10 +85,6 @@ ${skipUnitTests} ${activemq-surefire-argline} - - - **/ManifestTest.java - diff --git a/tests/smoke-tests/pom.xml b/tests/smoke-tests/pom.xml index d9f1d01b9c..aa7a3052a4 100644 --- a/tests/smoke-tests/pom.xml +++ b/tests/smoke-tests/pom.xml @@ -29,6 +29,7 @@ ${project.basedir}/../../ + -Ddistribution.lib="${activemq.basedir}/artemis-distribution/target/apache-artemis-${project.version}-bin/apache-artemis-${project.version}/lib" @@ -1209,7 +1210,7 @@ maven-surefire-plugin ${skipSmokeTests} - ${sts-surefire-extra-args} ${activemq-surefire-argline} + ${sts-surefire-extra-args} ${activemq-surefire-argline} ${artemis-distribuiton-lib-dir} diff --git a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/jms/misc/ManifestTest.java b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jms/ManifestTest.java similarity index 57% rename from tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/jms/misc/ManifestTest.java rename to tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jms/ManifestTest.java index c5a9d08880..b63af7ba57 100644 --- a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/jms/misc/ManifestTest.java +++ b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jms/ManifestTest.java @@ -14,10 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.activemq.artemis.tests.unit.jms.misc; +package org.apache.activemq.artemis.tests.smoke.jms; import javax.jms.ConnectionMetaData; import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Properties; import java.util.jar.Attributes; import java.util.jar.JarFile; @@ -25,42 +28,43 @@ import java.util.jar.Manifest; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ActiveMQServers; +import org.apache.activemq.artemis.core.version.Version; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionMetaData; -import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; +import org.apache.activemq.artemis.tests.smoke.common.SmokeTestBase; import org.jboss.logging.Logger; import org.junit.Assert; import org.junit.Test; -public class ManifestTest extends ActiveMQTestBase { +public class ManifestTest extends SmokeTestBase { private static final Logger log = Logger.getLogger(ManifestTest.class); - - + private static List jarFiles = new ArrayList<>(Arrays.asList( + "artemis-jms-client-", "artemis-jms-server-")); @Test public void testManifestEntries() throws Exception { + Properties props = System.getProperties(); - String userDir = props.getProperty("build.lib"); - - log.trace("userDir is " + userDir); - - // The jar must be there - File file = new File("build/jars", "activemq-core.jar"); - Assert.assertTrue(file.exists()); - - // Open the jar and load MANIFEST.MF - JarFile jar = new JarFile(file); - Manifest manifest = jar.getManifest(); + String distributionLibDir = props.getProperty("distribution.lib"); ActiveMQServer server = ActiveMQServers.newActiveMQServer(createBasicConfig()); + Version serverVersion = server.getVersion(); + String serverFullVersion = serverVersion.getFullVersion(); + ConnectionMetaData meta = new ActiveMQConnectionMetaData(serverVersion); - ConnectionMetaData meta = new ActiveMQConnectionMetaData(server.getVersion()); + for (String jarFile : jarFiles) { + // The jar must be there + File file = new File(distributionLibDir, jarFile + serverFullVersion + ".jar"); + Assert.assertTrue(file.exists()); - // Compare the value from ConnectionMetaData and MANIFEST.MF - Attributes attrs = manifest.getMainAttributes(); + // Open the jar and load MANIFEST.MF + JarFile jar = new JarFile(file); + Manifest manifest = jar.getManifest(); - Assert.assertEquals(meta.getProviderVersion(), attrs.getValue("ActiveMQ-Version")); + // Compare the value from ConnectionMetaData and MANIFEST.MF + Attributes attrs = manifest.getMainAttributes(); + Assert.assertEquals(meta.getProviderVersion(), attrs.getValue("Implementation-Version")); + } } - }