add support to test peer for refusing producer links

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/da948845
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/da948845
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/da948845

Branch: refs/heads/master
Commit: da948845b4a397462df80b9d1c4c0e1169b76f3f
Parents: f5c1fbd
Author: Robert Gemmell <[email protected]>
Authored: Mon Nov 10 15:04:34 2014 +0000
Committer: Robert Gemmell <[email protected]>
Committed: Mon Nov 10 17:48:37 2014 +0000

----------------------------------------------------------------------
 .../jms/integration/SessionIntegrationTest.java |  7 ++---
 .../qpid/jms/test/testpeer/TestAmqpPeer.java    | 28 +++++++++++++++++---
 2 files changed, 26 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/da948845/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
index 4d180c6..604a665 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.qpid.jms.integration;
 
-import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.nullValue;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -36,8 +35,6 @@ import javax.jms.TopicSubscriber;
 
 import org.apache.qpid.jms.test.QpidJmsTestCase;
 import org.apache.qpid.jms.test.testpeer.TestAmqpPeer;
-import org.apache.qpid.jms.test.testpeer.basictypes.TerminusDurability;
-import org.apache.qpid.jms.test.testpeer.basictypes.TerminusExpiryPolicy;
 import org.apache.qpid.jms.test.testpeer.matchers.TargetMatcher;
 import 
org.apache.qpid.jms.test.testpeer.matchers.sections.MessageAnnotationsSectionMatcher;
 import 
org.apache.qpid.jms.test.testpeer.matchers.sections.MessageHeaderSectionMatcher;
@@ -140,7 +137,7 @@ public class SessionIntegrationTest extends QpidJmsTestCase 
{
     }
 
     @Test(timeout = 5000)
-    public void testCreateAnonymousProducerWhenAnonymousRelaySupported() 
throws Exception {
+    public void testCreateAnonymousProducerWhenAnonymousRelayNodeIsSupported() 
throws Exception {
         try (TestAmqpPeer testPeer = new 
TestAmqpPeer(IntegrationTestFixture.PORT);) {
             Connection connection = testFixture.establishConnecton(testPeer);
             connection.start();
@@ -157,7 +154,7 @@ public class SessionIntegrationTest extends QpidJmsTestCase 
{
             targetMatcher.withDynamic(nullValue());//default = false
             targetMatcher.withDurable(nullValue());//default = none/0
 
-            testPeer.expectSenderAttach(targetMatcher);
+            testPeer.expectSenderAttach(targetMatcher, false);
 
             //Create an anonymous producer
             MessageProducer producer = session.createProducer(null);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/da948845/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
index bea5d90..e56c32b 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
@@ -458,10 +458,10 @@ public class TestAmqpPeer implements AutoCloseable
 
     public void expectSenderAttach()
     {
-        expectSenderAttach(notNullValue());
+        expectSenderAttach(notNullValue(), false);
     }
 
-    public void expectSenderAttach(final Matcher<?> targetMatcher)
+    public void expectSenderAttach(final Matcher<?> targetMatcher, final 
boolean refuseLink)
     {
         final AttachMatcher attachMatcher = new AttachMatcher()
                 .withName(notNullValue())
@@ -489,7 +489,11 @@ public class TestAmqpPeer implements AutoCloseable
                 
attachResponseSender.setChannel(attachMatcher.getActualChannel());
                 attachResponse.setName(attachMatcher.getReceivedName());
                 attachResponse.setSource(attachMatcher.getReceivedSource());
-                attachResponse.setTarget(attachMatcher.getReceivedTarget());
+                if(refuseLink) {
+                    attachResponse.setTarget(null);
+                } else {
+                    
attachResponse.setTarget(attachMatcher.getReceivedTarget());
+                }
             }
         });
 
@@ -512,9 +516,25 @@ public class TestAmqpPeer implements AutoCloseable
             }
         });
 
+        final DetachFrame detachResonse = new DetachFrame().setHandle(
+                 linkHandle).setClosed(true);
+        // The response frame channel will be dynamically set based on the
+        // incoming frame. Using the -1 is an illegal placeholder.
+        final FrameSender detachResonseSender = new FrameSender(this, 
FrameType.AMQP, -1, detachResonse, null);
+        detachResonseSender.setValueProvider(new ValueProvider() {
+             @Override
+             public void setValues() {
+                  
detachResonseSender.setChannel(attachMatcher.getActualChannel());
+             }
+        });
+
         CompositeAmqpPeerRunnable composite = new CompositeAmqpPeerRunnable();
         composite.add(attachResponseSender);
-        composite.add(flowFrameSender);
+        if (refuseLink) {
+            composite.add(detachResonseSender);
+        } else {
+            composite.add(flowFrameSender);
+        }
 
         attachMatcher.onSuccess(composite);
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to