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]
