NO-JIRA: consolidate the EXTERNAL connection handling

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

Branch: refs/heads/master
Commit: 680fe88ebbe56fdbc0364862dca3c7ade96e64a1
Parents: 78dabd8
Author: Robert Gemmell <[email protected]>
Authored: Tue Jun 16 11:13:04 2015 +0100
Committer: Robert Gemmell <[email protected]>
Committed: Tue Jun 16 11:13:04 2015 +0100

----------------------------------------------------------------------
 .../jms/integration/SaslIntegrationTest.java    |  2 +-
 .../qpid/jms/test/testpeer/TestAmqpPeer.java    | 52 +++++---------------
 2 files changed, 12 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/680fe88e/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java
index b31f986..9696a26 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SaslIntegrationTest.java
@@ -68,7 +68,7 @@ public class SaslIntegrationTest extends QpidJmsTestCase {
 
         try (TestAmqpPeer testPeer = new TestAmqpPeer(context, true);) {
             // Expect an EXTERNAL connection
-            testPeer.expectExternalConnect();
+            testPeer.expectSaslExternalConnect();
             // Each connection creates a session for managing temporary 
destinations etc
             testPeer.expectBegin(true);
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/680fe88e/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 f29f973..d6afef0 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
@@ -96,6 +96,7 @@ import org.slf4j.LoggerFactory;
 // TODO should expectXXXYYYZZZ methods just be expect(matcher)?
 public class TestAmqpPeer implements AutoCloseable
 {
+    private static final Symbol EXTERNAL = Symbol.valueOf("EXTERNAL");
     private static final Symbol PLAIN = Symbol.valueOf("PLAIN");
     private static final Logger LOGGER = 
LoggerFactory.getLogger(TestAmqpPeer.class.getName());
     private static final int CONNECTION_CHANNEL = 0;
@@ -440,6 +441,16 @@ public class TestAmqpPeer implements AutoCloseable
         expectSaslConnect(PLAIN, initialResponseMatcher, desiredCapabilities, 
serverCapabilities, serverProperties);
     }
 
+    public void expectSaslExternalConnect()
+    {
+        if(!_driverRunnable.isNeedClientCert())
+        {
+            throw new IllegalStateException("need-client-cert must be enabled 
on the test peer");
+        }
+
+        expectSaslConnect(EXTERNAL, equalTo(new Binary(new byte[0])), new 
Symbol[] { AmqpSupport.SOLE_CONNECTION_CAPABILITY }, null, null);
+    }
+
     public void expectFailingSaslConnect(Symbol[] serverMechs, Symbol 
clientSelectedMech)
     {
         SaslMechanismsFrame saslMechanismsFrame = new 
SaslMechanismsFrame().setSaslServerMechanisms(serverMechs);
@@ -547,47 +558,6 @@ public class TestAmqpPeer implements AutoCloseable
         addHandler(openMatcher);
     }
 
-    public void expectExternalConnect()
-    {
-        if(!_driverRunnable.isNeedClientCert()) {
-            throw new IllegalStateException("Need client cert must be 
enabled");
-        }
-
-        SaslMechanismsFrame saslMechanismsFrame = new 
SaslMechanismsFrame().setSaslServerMechanisms(Symbol.valueOf("EXTERNAL"));
-        addHandler(new HeaderHandlerImpl(AmqpHeader.SASL_HEADER, 
AmqpHeader.SASL_HEADER,
-                                            new FrameSender(
-                                                    this, FrameType.SASL, 0,
-                                                    saslMechanismsFrame, 
null)));
-
-        addHandler(new SaslInitMatcher()
-            .withMechanism(equalTo(Symbol.valueOf("EXTERNAL")))
-            .withInitialResponse(equalTo(new Binary(new byte[0])))
-            .onSuccess(new AmqpPeerRunnable()
-            {
-                @Override
-                public void run()
-                {
-                    TestAmqpPeer.this.sendFrame(
-                            FrameType.SASL, 0,
-                            new 
SaslOutcomeFrame().setCode(UnsignedByte.valueOf((byte)0)),
-                            null,
-                            false);
-                    _driverRunnable.expectHeader();
-                }
-            }));
-
-        addHandler(new HeaderHandlerImpl(AmqpHeader.HEADER, 
AmqpHeader.HEADER));
-
-        OpenFrame openFrame = createOpenFrame();
-
-        addHandler(new OpenMatcher()
-            .withContainerId(notNullValue(String.class))
-            .onSuccess(new FrameSender(
-                    this, FrameType.AMQP, 0,
-                    openFrame,
-                    null)));
-    }
-
     // TODO - Reject any incoming connection using the supplied information
     public void rejectConnect(Symbol errorType, String errorMessage, 
Map<Symbol, Object> errorInfo) {
         SaslMechanismsFrame saslMechanismsFrame = new 
SaslMechanismsFrame().setSaslServerMechanisms(Symbol.valueOf("ANONYMOUS"));


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

Reply via email to