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 +