diff --git a/mq/main/mq-client/src/test/java/com/sun/messaging/jmq/jmsclient/ConnectionMetaDataImplTest.java b/mq/main/mq-client/src/test/java/com/sun/messaging/jmq/jmsclient/ConnectionMetaDataImplTest.java
new file mode 100644
index 000000000..16c2d9fac
--- /dev/null
+++ b/mq/main/mq-client/src/test/java/com/sun/messaging/jmq/jmsclient/ConnectionMetaDataImplTest.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2020 Contributors to Eclipse Foundation. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.messaging.jmq.jmsclient;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+import jakarta.jms.JMSException;
+
+class ConnectionMetaDataImplTest {
+ @Test
+ void testJMSVersionConsistency() throws JMSException {
+ ConnectionImpl stubCon = makeConnectionImpl();
+ ConnectionMetaDataImpl cmdi = new ConnectionMetaDataImpl(stubCon);
+
+ int majorVersion = cmdi.getJMSMajorVersion();
+ int minorVersion = cmdi.getJMSMinorVersion();
+ String version = cmdi.getJMSVersion();
+
+ assertEquals(String.format("%d.%d", majorVersion, minorVersion), version);
+ }
+
+ private static ConnectionImpl makeConnectionImpl() throws JMSException {
+ ConnectionImpl cimpl = Mockito.mock(ConnectionImpl.class);
+ return cimpl;
+ }
+}
diff --git a/mq/main/mq-jmsra/jmsra-ra/src/main/java/com/sun/messaging/jms/ra/ConnectionMetaData.java b/mq/main/mq-jmsra/jmsra-ra/src/main/java/com/sun/messaging/jms/ra/ConnectionMetaData.java
index 988999a4e..1db925003 100644
--- a/mq/main/mq-jmsra/jmsra-ra/src/main/java/com/sun/messaging/jms/ra/ConnectionMetaData.java
+++ b/mq/main/mq-jmsra/jmsra-ra/src/main/java/com/sun/messaging/jms/ra/ConnectionMetaData.java
@@ -84,7 +84,7 @@ public ConnectionMetaData(Properties connectionProps) {
* @return The major version number of the JMS API that this JMS Connection implements.
*/
public int getJMSMajorVersion() throws JMSException {
- return 2;
+ return 3;
// JMSMajorVersion; -> Version.getJMSMajorVersion();
}
diff --git a/mq/main/mq-jmsra/jmsra-ra/src/test/java/com/sun/messaging/jms/ra/ConnectionMetaDataTest.java b/mq/main/mq-jmsra/jmsra-ra/src/test/java/com/sun/messaging/jms/ra/ConnectionMetaDataTest.java
new file mode 100644
index 000000000..94dca76ea
--- /dev/null
+++ b/mq/main/mq-jmsra/jmsra-ra/src/test/java/com/sun/messaging/jms/ra/ConnectionMetaDataTest.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2020 Contributors to Eclipse Foundation. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.messaging.jms.ra;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import jakarta.jms.JMSException;
+
+class ConnectionMetaDataTest {
+ @Test
+ void testJMSVersionConsistency() throws JMSException {
+ ConnectionMetaData cmdi = makeConnectionMetaData();
+
+ int majorVersion = cmdi.getJMSMajorVersion();
+ int minorVersion = cmdi.getJMSMinorVersion();
+ String version = cmdi.getJMSVersion();
+
+ assertEquals(String.format("%d.%d", majorVersion, minorVersion), version);
+ }
+
+ private static ConnectionMetaData makeConnectionMetaData() {
+ ConnectionMetaData cmd = new ConnectionMetaData(null) {
+
+ @Override
+ protected boolean hasJMSXAppID() {
+ return false;
+ }
+
+ @Override
+ protected boolean hasJMSXUserID() {
+ return false;
+ }
+
+ @Override
+ protected boolean hasJMSXProducerTXID() {
+ return false;
+ }
+
+ @Override
+ protected boolean hasJMSXConsumerTXID() {
+ return false;
+ }
+
+ @Override
+ protected boolean hasJMSXRcvTimestamp() {
+ return false;
+ }};
+ return cmd;
+ }
+}
diff --git a/mq/main/pom.xml b/mq/main/pom.xml
index 61b87a56d..846f26e35 100644
--- a/mq/main/pom.xml
+++ b/mq/main/pom.xml
@@ -85,6 +85,7 @@
5.7.0
3.17.2
+ 3.5.13
@@ -399,6 +400,12 @@
${assertj.version}
test
+
+ org.mockito
+ mockito-core
+ ${mockito.version}
+ test
+
@@ -411,6 +418,10 @@
org.assertj
assertj-core
+
+ org.mockito
+ mockito-core
+