From 41f4897c8cce5cc327752db9c58cd6aa9bc06d29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sondre=20Eikanger=20Kval=C3=B8?= Date: Wed, 17 Apr 2013 13:53:47 +0200 Subject: [PATCH 1/2] remove appollo-web as it only in test scope and does not seem to be in use in JUnit tests --- pom.xml | 1 + stompjms-client/pom.xml | 14 ++-- .../jms/StompJmsSessionUntransactedTest.java | 80 +++++++++++++++++++ 3 files changed, 88 insertions(+), 7 deletions(-) create mode 100644 stompjms-client/src/test/java/org/fusesource/stomp/jms/StompJmsSessionUntransactedTest.java diff --git a/pom.xml b/pom.xml index 498852f..f8b4627 100644 --- a/pom.xml +++ b/pom.xml @@ -42,6 +42,7 @@ 1.6 5.8.0 1.15 + 1.9.5 http://${forge-project-id}.fusesource.org/ diff --git a/stompjms-client/pom.xml b/stompjms-client/pom.xml index 22a580b..197475f 100755 --- a/stompjms-client/pom.xml +++ b/stompjms-client/pom.xml @@ -84,19 +84,19 @@ test - - - org.apache.activemq - apollo-web - ${apollo-version} - test - org.eclipse.jetty.aggregate jetty-all-server 7.1.6.v20100715 test + + org.mockito + mockito-all + ${mockito.version} + test + + junit junit diff --git a/stompjms-client/src/test/java/org/fusesource/stomp/jms/StompJmsSessionUntransactedTest.java b/stompjms-client/src/test/java/org/fusesource/stomp/jms/StompJmsSessionUntransactedTest.java new file mode 100644 index 0000000..0c6629d --- /dev/null +++ b/stompjms-client/src/test/java/org/fusesource/stomp/jms/StompJmsSessionUntransactedTest.java @@ -0,0 +1,80 @@ +package org.fusesource.stomp.jms; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; + +import javax.jms.Session; +import javax.jms.TemporaryQueue; +import javax.jms.TemporaryTopic; + +import static org.junit.Assert.assertSame; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.same; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; +import static org.mockito.Mockito.when; + +/** + * @author zapodot at gmail dot com + */ +@RunWith(MockitoJUnitRunner.class) +public class StompJmsSessionUntransactedTest { + + @Mock + private StompJmsConnection stompJmsConnection; + + @Mock + private StompChannel stompChannel; + + @Mock + private StompServerAdaptor stompServerAdaptor; + + @Mock + private StompJmsPrefetch stompJmsPrefetch; + + @Mock + private TemporaryQueue temporaryQueue; + + @Mock + private TemporaryTopic temporaryTopic; + private StompJmsSession stompJmsSession; + + @Before + public void setUp() throws Exception { + when(stompJmsConnection.createChannel(any(StompJmsSession.class))).thenReturn(stompChannel); + stompJmsConnection.prefetch = stompJmsPrefetch; + + when(stompChannel.getServerAdaptor()).thenReturn(stompServerAdaptor); + when(stompServerAdaptor.createTemporaryQueue(any(StompJmsSession.class))).thenReturn(temporaryQueue); + when(stompServerAdaptor.createTemporaryTopic(any(StompJmsSession.class))).thenReturn(temporaryTopic); + stompJmsSession = new StompJmsSession(stompJmsConnection, Session.AUTO_ACKNOWLEDGE, false); + + } + + @Test + public void testCreateTemporaryQueue() throws Exception { + assertSame(temporaryQueue, stompJmsSession.createTemporaryQueue()); + verify(stompJmsConnection).createChannel(any(StompJmsSession.class)); + verify(stompChannel).getServerAdaptor(); + verify(stompServerAdaptor).createTemporaryQueue(same(stompJmsSession)); + + } + + @Test + public void testCreateTemporaryTopic() throws Exception { + assertSame(temporaryTopic, stompJmsSession.createTemporaryTopic()); + verify(stompJmsConnection).createChannel(any(StompJmsSession.class)); + verify(stompChannel).getServerAdaptor(); + verify(stompServerAdaptor).createTemporaryTopic(same(stompJmsSession)); + } + + @After + public void tearDown() throws Exception { + verifyNoMoreInteractions(stompJmsConnection, stompChannel, stompServerAdaptor); + + } +} From b112890f0a2e660dc65e299cec88cb4052fddb57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sondre=20Eikanger=20Kval=C3=B8?= Date: Wed, 17 Apr 2013 13:54:32 +0200 Subject: [PATCH 2/2] dont't imply that the serverAdaptor field has been set. --- .../org/fusesource/stomp/jms/StompJmsMessageConsumer.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/stompjms-client/src/main/java/org/fusesource/stomp/jms/StompJmsMessageConsumer.java b/stompjms-client/src/main/java/org/fusesource/stomp/jms/StompJmsMessageConsumer.java index b56497b..138da9f 100644 --- a/stompjms-client/src/main/java/org/fusesource/stomp/jms/StompJmsMessageConsumer.java +++ b/stompjms-client/src/main/java/org/fusesource/stomp/jms/StompJmsMessageConsumer.java @@ -11,7 +11,6 @@ package org.fusesource.stomp.jms; import org.fusesource.hawtbuf.AsciiBuffer; -import org.fusesource.hawtbuf.Buffer; import org.fusesource.hawtdispatch.CustomDispatchSource; import org.fusesource.hawtdispatch.Dispatch; import org.fusesource.hawtdispatch.OrderedEventAggregator; @@ -29,8 +28,6 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import static org.fusesource.stomp.client.Constants.*; - /** * implementation of a Jms Message Consumer */ @@ -231,7 +228,7 @@ StompJmsMessage ack(final StompJmsMessage message) { if( message.getAcknowledgeCallback()!=null ) { // Message has been received by the app.. expand the credit window // so that we receive more messages. - StompFrame frame = session.serverAdaptor.createCreditFrame(this, message.getFrame()); + StompFrame frame = session.channel.serverAdaptor.createCreditFrame(this, message.getFrame()); if( frame != null ) { try { session.channel.sendFrame(frame);