You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2019/08/28 06:38:12 UTC

[qpid-broker-j] 08/08: QPID-8349: [Tests][AMQP 1.0] Run tests with SASL authentication when anonymous access is not supported

This is an automated email from the ASF dual-hosted git repository.

orudyy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git

commit 13de81fc8fa91c7cb0f2a9208905ab6b612db55a
Author: Alex Rudyy <or...@apache.org>
AuthorDate: Fri Aug 23 17:50:59 2019 +0100

    QPID-8349: [Tests][AMQP 1.0] Run tests with SASL authentication when anonymous access is not supported
---
 .../tests/protocol/v1_0/ExistingQueueAdmin.java    | 41 ++++------
 .../qpid/tests/protocol/v1_0/FrameTransport.java   | 25 ++++--
 .../qpid/tests/protocol/v1_0/Interaction.java      | 91 +++++++++++++++++++++-
 .../org/apache/qpid/tests/protocol/v1_0/Utils.java | 14 ++--
 .../websocket/WebSocketFrameTransport.java         |  8 +-
 .../qpid/tests/protocol/v1_0/DecodeErrorTest.java  | 18 +----
 .../protocol/v1_0/ExistingQueueAdminTest.java      | 10 +--
 .../anonymousterminus/AnonymousTerminusTest.java   | 32 ++++----
 .../bindmapjms/TemporaryDestinationTest.java       | 30 +++----
 .../bindmapjms/TopicDestinationTest.java           | 21 ++---
 .../v1_0/extensions/filter/FilterTest.java         | 15 ++--
 .../v1_0/extensions/management/ManagementTest.java | 12 +--
 .../extensions/qpid/message/MalformedMessage.java  | 12 +--
 .../extensions/qpid/queue/QueueDeletionTest.java   | 13 +---
 .../transactiontimeout/TransactionTimeoutTest.java | 11 +--
 .../extensions/soleconn/CloseExistingPolicy.java   | 24 ++----
 .../v1_0/extensions/soleconn/MixedPolicy.java      | 20 ++---
 .../soleconn/RefuseConnectionPolicy.java           | 28 +++----
 .../v1_0/extensions/websocket/WebSocketTest.java   | 17 ++--
 .../protocol/v1_0/messaging/DeleteOnCloseTest.java | 40 ++++------
 .../protocol/v1_0/messaging/MessageFormat.java     |  8 +-
 .../protocol/v1_0/messaging/MultiTransferTest.java | 25 +++---
 .../tests/protocol/v1_0/messaging/OutcomeTest.java | 17 ++--
 .../protocol/v1_0/messaging/TransferTest.java      | 77 +++++++++---------
 .../protocol/v1_0/transaction/DischargeTest.java   | 20 ++---
 .../transaction/TransactionalTransferTest.java     | 73 +++++------------
 .../v1_0/transport/ProtocolHeaderTest.java         | 12 +--
 .../v1_0/transport/connection/IdleTimeoutTest.java |  8 +-
 .../v1_0/transport/connection/OpenTest.java        | 27 +++----
 .../protocol/v1_0/transport/link/AttachTest.java   | 17 ++--
 .../protocol/v1_0/transport/link/FlowTest.java     | 41 ++++------
 .../v1_0/transport/link/LinkStealingTest.java      |  9 +--
 .../v1_0/transport/link/ResumeDeliveriesTest.java  | 30 ++++---
 .../v1_0/transport/security/sasl/SaslTest.java     | 30 +++----
 .../qpid/SaslAuthenticationTimeoutTest.java        |  4 +-
 .../protocol/v1_0/transport/session/BeginTest.java | 13 +---
 .../qpid/systests/admin/SpawnBrokerAdmin.java      |  6 ++
 .../org/apache/qpid/tests/utils/BrokerAdmin.java   |  1 +
 .../utils/EmbeddedBrokerPerClassAdminImpl.java     |  6 ++
 .../tests/utils/ExternalQpidBrokerAdminImpl.java   | 12 ++-
 .../tests/utils/LoggingBrokerAdminDecorator.java   |  6 ++
 41 files changed, 399 insertions(+), 525 deletions(-)

diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/ExistingQueueAdmin.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/ExistingQueueAdmin.java
index d6c4a2c..d0ad60d 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/ExistingQueueAdmin.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/ExistingQueueAdmin.java
@@ -22,8 +22,6 @@ package org.apache.qpid.tests.protocol.v1_0;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import java.net.InetSocketAddress;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -58,16 +56,22 @@ public class ExistingQueueAdmin implements QueueAdmin
     @Override
     public void deleteQueue(final BrokerAdmin brokerAdmin, final String queueName)
     {
-        drain(queueName, brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP));
+        try
+        {
+            drainQueue(brokerAdmin, queueName);
+        }
+        catch (Exception e)
+        {
+            throw new BrokerAdminException(String.format("Cannot drain queue '%s'", queueName), e);
+        }
     }
 
     @Override
     public void putMessageOnQueue(final BrokerAdmin brokerAdmin, final String queueName, final String... message)
     {
-        final InetSocketAddress brokerAddress = brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
         try
         {
-            putMessageOnQueue(brokerAddress, queueName, message);
+            send(brokerAdmin, queueName, message);
         }
         catch (Exception e)
         {
@@ -89,23 +93,11 @@ public class ExistingQueueAdmin implements QueueAdmin
         return true;
     }
 
-    private void drain(final String queueName, final InetSocketAddress brokerAddress)
+    private void send(final BrokerAdmin brokerAdmin,
+                      final String queueName,
+                      final String... message) throws Exception
     {
-        try
-        {
-            drainQueue(brokerAddress, queueName);
-        }
-        catch (Exception e)
-        {
-            throw new BrokerAdminException(String.format("Cannot drain queue '%s'", queueName), e);
-        }
-    }
-
-    private void putMessageOnQueue(final InetSocketAddress brokerAddress,
-                                   final String queueName,
-                                   final String... message) throws Exception
-    {
-        try (FrameTransport transport = new FrameTransport(brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(brokerAdmin).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -143,11 +135,11 @@ public class ExistingQueueAdmin implements QueueAdmin
     }
 
 
-    private void drainQueue(final InetSocketAddress brokerAddress, final String queueName) throws Exception
+    private void drainQueue(final BrokerAdmin brokerAdmin, final String queueName) throws Exception
     {
         final String controlMessage = String.format("---%s---", new StringUtil().randomAlphaNumericString(32));
-        putMessageOnQueue(brokerAddress, queueName, controlMessage);
-        try (FrameTransport transport = new FrameTransport(brokerAddress).connect())
+        send(brokerAdmin, queueName, controlMessage);
+        try (FrameTransport transport = new FrameTransport(brokerAdmin).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -194,5 +186,4 @@ public class ExistingQueueAdmin implements QueueAdmin
             closeInteraction(interaction);
         }
     }
-
 }
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/FrameTransport.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/FrameTransport.java
index 219c423..dd646d1 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/FrameTransport.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/FrameTransport.java
@@ -21,20 +21,26 @@ package org.apache.qpid.tests.protocol.v1_0;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import java.net.InetSocketAddress;
-
 import org.apache.qpid.tests.protocol.AbstractFrameTransport;
+import org.apache.qpid.tests.utils.BrokerAdmin;
 
 public class FrameTransport extends AbstractFrameTransport<Interaction>
 {
-    public FrameTransport(final InetSocketAddress brokerAddress)
+    private final BrokerAdmin.PortType _portType;
+    private final BrokerAdmin _brokerAdmin;
+
+    public FrameTransport(final BrokerAdmin brokerAdmin)
     {
-        this(brokerAddress, false);
+        this(brokerAdmin, getPortType(brokerAdmin));
     }
 
-    public FrameTransport(final InetSocketAddress brokerAddress, boolean isSasl)
+    public FrameTransport(final BrokerAdmin brokerAdmin, final BrokerAdmin.PortType portType)
     {
-        super(brokerAddress, new FrameDecoder(isSasl), new FrameEncoder());
+        super(brokerAdmin.getBrokerAddress(portType),
+              new FrameDecoder(portType == BrokerAdmin.PortType.AMQP),
+              new FrameEncoder());
+        _portType = portType;
+        _brokerAdmin = brokerAdmin;
     }
 
     @Override
@@ -52,6 +58,11 @@ public class FrameTransport extends AbstractFrameTransport<Interaction>
 
     public Interaction newInteraction()
     {
-        return new Interaction(this);
+        return new Interaction(this, _brokerAdmin, _portType);
+    }
+
+    private static BrokerAdmin.PortType getPortType(final BrokerAdmin brokerAdmin)
+    {
+        return brokerAdmin.isAnonymousSupported() ? BrokerAdmin.PortType.ANONYMOUS_AMQP : BrokerAdmin.PortType.AMQP;
     }
 }
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
index ccebfda..e776d0c 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
@@ -20,6 +20,8 @@
 
 package org.apache.qpid.tests.protocol.v1_0;
 
+import static org.apache.qpid.server.security.auth.manager.AbstractScramAuthenticationManager.PLAIN;
+
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -33,6 +35,7 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Consumer;
+import java.util.stream.Collectors;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
@@ -58,7 +61,10 @@ import org.apache.qpid.server.protocol.v1_0.type.messaging.Filter;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Rejected;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Source;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Target;
+import org.apache.qpid.server.protocol.v1_0.type.security.SaslCode;
 import org.apache.qpid.server.protocol.v1_0.type.security.SaslInit;
+import org.apache.qpid.server.protocol.v1_0.type.security.SaslMechanisms;
+import org.apache.qpid.server.protocol.v1_0.type.security.SaslOutcome;
 import org.apache.qpid.server.protocol.v1_0.type.security.SaslResponse;
 import org.apache.qpid.server.protocol.v1_0.type.transaction.Coordinator;
 import org.apache.qpid.server.protocol.v1_0.type.transaction.Declare;
@@ -77,11 +83,16 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.ReceiverSettleMode;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Role;
 import org.apache.qpid.server.protocol.v1_0.type.transport.SenderSettleMode;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Transfer;
+import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManager;
+import org.apache.qpid.server.util.StringUtil;
 import org.apache.qpid.tests.protocol.AbstractInteraction;
 import org.apache.qpid.tests.protocol.Response;
+import org.apache.qpid.tests.utils.BrokerAdmin;
 
 public class Interaction extends AbstractInteraction<Interaction>
 {
+    private static final byte[] SASL_AMQP_HEADER_BYTES = "AMQP\3\1\0\0".getBytes(StandardCharsets.UTF_8);
+
     private static final FrameBody EMPTY_FRAME = (channel, conn) -> {
         throw new UnsupportedOperationException();
     };
@@ -102,6 +113,8 @@ public class Interaction extends AbstractInteraction<Interaction>
     private final Disposition _disposition;
     private final SaslInit _saslInit;
     private final SaslResponse _saslResponse;
+    private final BrokerAdmin _brokerAdmin;
+    private final BrokerAdmin.PortType _portType;
     private byte[] _protocolHeader;
     private UnsignedShort _connectionChannel;
     private UnsignedShort _sessionChannel;
@@ -115,9 +128,11 @@ public class Interaction extends AbstractInteraction<Interaction>
     private AtomicLong _coordinatorCredits = new AtomicLong();
     private InteractionTransactionalState _transactionalState;
 
-    Interaction(final FrameTransport frameTransport)
+    Interaction(final FrameTransport frameTransport, BrokerAdmin brokerAdmin, BrokerAdmin.PortType portType)
     {
         super(frameTransport);
+        _brokerAdmin = brokerAdmin;
+        _portType = portType;
         final UnsignedInteger defaultLinkHandle = UnsignedInteger.ZERO;
 
         _protocolHeader = frameTransport.getProtocolHeader();
@@ -1335,7 +1350,79 @@ public class Interaction extends AbstractInteraction<Interaction>
 
     public Interaction sendOpen() throws Exception
     {
-        negotiateProtocol().consumeResponse().open();
+        if ((_portType == BrokerAdmin.PortType.ANONYMOUS_AMQP || _portType == BrokerAdmin.PortType.ANONYMOUS_AMQPWS)
+            && _brokerAdmin.isAnonymousSupported())
+        {
+            sendProtocolAndOpen();
+        }
+        else if (_portType == BrokerAdmin.PortType.AMQP
+                 && _brokerAdmin.isSASLSupported()
+                 && _brokerAdmin.isSASLMechanismSupported(PLAIN))
+        {
+            sendSasl();
+            protocolHeader(getTransport().getProtocolHeader()).sendProtocolAndOpen();
+        }
+        else
+        {
+            throw new IllegalStateException("Only ANONYMOUS or PLAIN authentication currently supported by the tests");
+        }
         return this;
     }
+
+    private void sendProtocolAndOpen() throws Exception
+    {
+        negotiateProtocol().consumeResponse().open();
+    }
+
+    private void sendSasl() throws Exception
+    {
+        final byte[] protocolResponse = protocolHeader(SASL_AMQP_HEADER_BYTES)
+                .negotiateProtocol().consumeResponse()
+                .getLatestResponse(byte[].class);
+        if (!Arrays.equals(SASL_AMQP_HEADER_BYTES, protocolResponse))
+        {
+            throw new IllegalStateException(String.format(
+                    "Unexpected protocol '%s' is reported from broker supporting SASL",
+                    StringUtil.toHex(protocolResponse)));
+        }
+
+        final SaslMechanisms mechanisms = consumeResponse().getLatestResponse(SaslMechanisms.class);
+        final Symbol[] supportedMechanisms = mechanisms.getSaslServerMechanisms();
+        if (Arrays.stream(supportedMechanisms).noneMatch(m -> m.toString().equalsIgnoreCase(PLAIN)))
+        {
+            if (Arrays.stream(supportedMechanisms)
+                      .noneMatch(m -> m.toString().equalsIgnoreCase(AnonymousAuthenticationManager.MECHANISM_NAME)))
+            {
+                throw new IllegalStateException(String.format(
+                        "PLAIN or ANONYMOUS SASL mechanism is not listed among supported '%s'",
+                        Arrays.stream(supportedMechanisms)
+                              .map(String::valueOf)
+                              .collect(Collectors.joining(","))));
+            }
+            else
+            {
+                authenticate(AnonymousAuthenticationManager.MECHANISM_NAME, new byte[0]);
+            }
+        }
+        else
+        {
+            byte[] initialResponseBytes =
+                    String.format("\0%s\0%s", _brokerAdmin.getValidUsername(), _brokerAdmin.getValidPassword())
+                          .getBytes(StandardCharsets.US_ASCII);
+            authenticate(PLAIN, initialResponseBytes);
+        }
+    }
+
+    private void authenticate(final String mechanism, final byte[] initialResponseBytes) throws Exception
+    {
+        final SaslOutcome saslOutcome = saslMechanism(Symbol.getSymbol(mechanism))
+                .saslInitialResponse(new Binary(initialResponseBytes))
+                .saslInit().consumeResponse()
+                .getLatestResponse(SaslOutcome.class);
+
+        if (!SaslCode.OK.equals(saslOutcome.getCode()))
+        {
+            throw new IllegalStateException("Authentication failed.");
+        }
+    }
 }
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Utils.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Utils.java
index f76a1b4..7e6364c 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Utils.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Utils.java
@@ -22,7 +22,6 @@ package org.apache.qpid.tests.protocol.v1_0;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
-import java.net.InetSocketAddress;
 import java.util.stream.IntStream;
 
 import org.apache.qpid.server.bytebuffer.QpidByteBuffer;
@@ -40,10 +39,9 @@ import org.apache.qpid.tests.utils.BrokerAdmin;
 
 public class Utils
 {
-    public static boolean doesNodeExist(final InetSocketAddress brokerAddress,
-                                        final String nodeAddress) throws Exception
+    public static boolean doesNodeExist(final BrokerAdmin brokerAdmin, final String nodeAddress) throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(brokerAdmin).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final Attach attachValidationResponse = interaction.negotiateOpen()
@@ -68,10 +66,9 @@ public class Utils
         }
     }
 
-    public static Object receiveMessage(final InetSocketAddress brokerAddress,
-                                        final String queueName) throws Exception
+    public static Object receiveMessage(final BrokerAdmin brokerAdmin, final String queueName) throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(brokerAdmin).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -146,8 +143,7 @@ public class Utils
         }
         else
         {
-            final InetSocketAddress brokerAddress = brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-            try (FrameTransport transport = new FrameTransport(brokerAddress).connect())
+            try (FrameTransport transport = new FrameTransport(brokerAdmin).connect())
             {
                 final Interaction interaction = transport.newInteraction();
                 interaction.negotiateOpen()
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/extensions/websocket/WebSocketFrameTransport.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/extensions/websocket/WebSocketFrameTransport.java
index fb6b169..4f2c5fc 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/extensions/websocket/WebSocketFrameTransport.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/extensions/websocket/WebSocketFrameTransport.java
@@ -21,7 +21,6 @@
 
 package org.apache.qpid.tests.protocol.v1_0.extensions.websocket;
 
-import java.net.InetSocketAddress;
 import java.net.URI;
 import java.nio.charset.StandardCharsets;
 
@@ -48,6 +47,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
+import org.apache.qpid.tests.utils.BrokerAdmin;
 
 public class WebSocketFrameTransport extends FrameTransport
 {
@@ -57,9 +57,9 @@ public class WebSocketFrameTransport extends FrameTransport
     private final WebSocketDeframingInputHandler _webSocketDeframingInputHandler = new WebSocketDeframingInputHandler();
     private final WebSocketClientHandler _webSocketClientHandler;
 
-    public WebSocketFrameTransport(final InetSocketAddress addr)
+    public WebSocketFrameTransport(final BrokerAdmin brokerAdmin)
     {
-        super(addr);
+        super(brokerAdmin, BrokerAdmin.PortType.ANONYMOUS_AMQPWS);
         URI uri = URI.create(String.format("tcp://%s:%d/",
                                            getBrokerAddress().getHostString(),
                                            getBrokerAddress().getPort()));
@@ -98,7 +98,7 @@ public class WebSocketFrameTransport extends FrameTransport
         private boolean _splitFrames;
 
         @Override
-        public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception
+        public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise)
         {
             if (msg instanceof ByteBuf)
             {
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/DecodeErrorTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/DecodeErrorTest.java
index f8695bc..b881b0d 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/DecodeErrorTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/DecodeErrorTest.java
@@ -29,13 +29,11 @@ import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.bytebuffer.QpidByteBuffer;
@@ -60,14 +58,6 @@ import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class DecodeErrorTest extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
-
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-    }
-
     @Test
     @SpecificationTest(section = "3.2",
             description = "Altogether a message consists of the following sections: Zero or one header,"
@@ -75,7 +65,7 @@ public class DecodeErrorTest extends BrokerAdminUsingTestBase
     public void illegalMessage() throws Exception
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -105,7 +95,7 @@ public class DecodeErrorTest extends BrokerAdminUsingTestBase
 
         final String validMessage = getTestName() + "_2";
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, validMessage);
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(validMessage)));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(validMessage)));
     }
 
     @Test
@@ -114,7 +104,7 @@ public class DecodeErrorTest extends BrokerAdminUsingTestBase
                           + "The value of this entry MUST be of a type which provides the lifetime-policy archetype.")
     public void nodePropertiesLifetimePolicy() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setDynamic(Boolean.TRUE);
@@ -138,7 +128,7 @@ public class DecodeErrorTest extends BrokerAdminUsingTestBase
                           + "The value of this entry MUST be of a type which provides the lifetime-policy archetype.")
     public void nodePropertiesSupportedDistributionModes() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Target target = new Target();
             target.setDynamic(Boolean.TRUE);
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/ExistingQueueAdminTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/ExistingQueueAdminTest.java
index 26b2050..86e60f0 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/ExistingQueueAdminTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/ExistingQueueAdminTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import java.net.InetSocketAddress;
-
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -41,7 +39,6 @@ import org.apache.qpid.tests.utils.EmbeddedBrokerPerClassAdminImpl;
 public class ExistingQueueAdminTest extends UnitTestBase
 {
     private static BrokerAdmin _brokerAdmin;
-    private static InetSocketAddress _brokerAddress;
 
     private ExistingQueueAdmin _queueAdmin;
     private String _testQueueName;
@@ -51,7 +48,6 @@ public class ExistingQueueAdminTest extends UnitTestBase
     {
         _brokerAdmin = new EmbeddedBrokerPerClassAdminImpl();
         _brokerAdmin.beforeTestClass(ExistingQueueAdminTest.class);
-        _brokerAddress = _brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
     @AfterClass
@@ -92,7 +88,7 @@ public class ExistingQueueAdminTest extends UnitTestBase
 
         final String controlMessage = String.format("controlMessage %s", _testQueueName);
         _brokerAdmin.putMessageOnQueue(_testQueueName, controlMessage);
-        assertEquals(controlMessage, Utils.receiveMessage(_brokerAddress, _testQueueName));
+        assertEquals(controlMessage, Utils.receiveMessage(_brokerAdmin, _testQueueName));
     }
 
     @Test
@@ -114,8 +110,8 @@ public class ExistingQueueAdminTest extends UnitTestBase
     {
         final String[] messages = Utils.createTestMessageContents(2, _testQueueName);
         _queueAdmin.putMessageOnQueue(_brokerAdmin, _testQueueName, messages);
-        assertEquals(messages[0], Utils.receiveMessage(_brokerAddress, _testQueueName));
-        assertEquals(messages[1], Utils.receiveMessage(_brokerAddress, _testQueueName));
+        assertEquals(messages[0], Utils.receiveMessage(_brokerAdmin, _testQueueName));
+        assertEquals(messages[1], Utils.receiveMessage(_brokerAdmin, _testQueueName));
     }
 
     @Test
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/anonymousterminus/AnonymousTerminusTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/anonymousterminus/AnonymousTerminusTest.java
index a0f244b..903c9fc 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/anonymousterminus/AnonymousTerminusTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/anonymousterminus/AnonymousTerminusTest.java
@@ -31,7 +31,6 @@ import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.oneOf;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.nio.charset.StandardCharsets;
 
 import org.junit.Before;
@@ -72,15 +71,12 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     private static final Symbol ANONYMOUS_RELAY = Symbol.valueOf("ANONYMOUS-RELAY");
     private static final Symbol DELIVERY_TAG = Symbol.valueOf("delivery-tag");
 
-    private InetSocketAddress _brokerAddress;
     private Binary _deliveryTag;
 
     @Before
     public void setUp()
     {
-        final BrokerAdmin brokerAdmin = getBrokerAdmin();
-        brokerAdmin.createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
+        getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
         _deliveryTag = new Binary("testTag".getBytes(StandardCharsets.UTF_8));
     }
 
@@ -91,7 +87,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     @Test
     public void transferPreSettledToKnownDestination() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = openInteractionWithAnonymousRelayCapability(transport);
 
@@ -109,7 +105,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
                        .transfer()
                        .detachEndCloseUnconditionally();
 
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME),
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME),
                        is(equalTo(getTestName())));
         }
     }
@@ -127,7 +123,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     @Test
     public void transferPreSettledToUnknownDestination() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = openInteractionWithAnonymousRelayCapability(transport);
 
@@ -167,7 +163,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     @Test
     public void transferUnsettledToUnknownDestinationWhenRejectedOutcomeSupportedBySource() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = openInteractionWithAnonymousRelayCapability(transport);
 
@@ -214,7 +210,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     @Test
     public void transferUnsettledToUnknownDestinationWhenRejectedOutcomeNotSupportedBySource() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = openInteractionWithAnonymousRelayCapability(transport);
 
@@ -247,7 +243,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     @Test
     public void transferPreSettledInTransactionToKnownDestination() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = openInteractionWithAnonymousRelayCapability(transport);
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
@@ -273,7 +269,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
 
             assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
 
-            Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+            Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
             assertThat(receivedMessage, is(equalTo(getTestName())));
         }
     }
@@ -281,7 +277,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     @Test
     public void transferUnsettledInTransactionToKnownDestination() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = openInteractionWithAnonymousRelayCapability(transport);
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
@@ -318,7 +314,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
 
             assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
 
-            Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+            Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
             assertThat(receivedMessage, is(equalTo(getTestName())));
         }
     }
@@ -326,7 +322,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     @Test
     public void transferUnsettledInTransactionToUnknownDestinationWhenRejectedOutcomeSupportedBySource() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = openInteractionWithAnonymousRelayCapability(transport);
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
@@ -374,7 +370,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     @Test
     public void transferUnsettledInTransactionToUnknownDestinationWhenRejectedOutcomeNotSupportedBySource() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = openInteractionWithAnonymousRelayCapability(transport);
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
@@ -442,7 +438,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     public void transferPreSettledInTransactionToUnknownDestinationWhenRejectOutcomeSupportedByTxController()
             throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
             final Interaction interaction =
@@ -508,7 +504,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase
     public void transferPreSettledInTransactionToUnknownDestinationWhenRejectOutcomeNotSupportedByTxController()
             throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
             final Interaction interaction =
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/bindmapjms/TemporaryDestinationTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/bindmapjms/TemporaryDestinationTest.java
index daf6e9e..8a37f9d 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/bindmapjms/TemporaryDestinationTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/bindmapjms/TemporaryDestinationTest.java
@@ -27,11 +27,9 @@ import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.util.Collections;
 
 import org.hamcrest.Matchers;
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.Session_1_0;
@@ -52,20 +50,12 @@ import org.apache.qpid.tests.protocol.SpecificationTest;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
 import org.apache.qpid.tests.protocol.v1_0.Utils;
-import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
 {
     private static final Symbol TEMPORARY_QUEUE = Symbol.valueOf("temporary-queue");
     private static final Symbol TEMPORARY_TOPIC = Symbol.valueOf("temporary-topic");
-    private InetSocketAddress _brokerAddress;
-
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-    }
 
     @Test
     @SpecificationTest(section = "5.3",
@@ -91,7 +81,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
     {
         String newTemporaryNodeAddress;
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Target target = createTarget(targetCapabilities);
 
@@ -115,7 +105,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
             interaction.doCloseConnection();
         }
 
-        assertThat(Utils.doesNodeExist(_brokerAddress, newTemporaryNodeAddress), is(false));
+        assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTemporaryNodeAddress), is(false));
     }
 
 
@@ -140,7 +130,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
     public void createTemporaryQueueReceivingLink() throws Exception
     {
         final Symbol[] capabilities = new Symbol[]{TEMPORARY_QUEUE};
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Target target = createTarget(capabilities);
 
@@ -200,7 +190,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
     public void createTemporaryQueueReceivingLinkFromOtherConnectionDisallowed() throws Exception
     {
         final Symbol[] capabilities = new Symbol[]{TEMPORARY_QUEUE};
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Target target = createTarget(capabilities);
 
@@ -239,7 +229,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
     public void createTemporaryQueueSendingLinkFromOtherConnectionAllowed() throws Exception
     {
         final Symbol[] capabilities = new Symbol[]{TEMPORARY_QUEUE};
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Target target = createTarget(capabilities);
 
@@ -290,7 +280,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
     public void createTemporaryTopicSubscriptionReceivingLink() throws Exception
     {
         final Symbol[] capabilities = new Symbol[]{TEMPORARY_TOPIC};
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setDynamicNodeProperties(Collections.singletonMap(Session_1_0.LIFETIME_POLICY, new DeleteOnClose()));
@@ -354,7 +344,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
     public void createTemporaryTopicSubscriptionReceivingLinkFromOtherConnectionDisallowed() throws Exception
     {
         final Symbol[] capabilities = new Symbol[]{TEMPORARY_TOPIC};
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setDynamicNodeProperties(Collections.singletonMap(Session_1_0.LIFETIME_POLICY, new DeleteOnClose()));
@@ -395,7 +385,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
     public void createTemporaryTopicSendingLinkFromOtherConnectionAllowed() throws Exception
     {
         final Symbol[] capabilities = new Symbol[]{TEMPORARY_TOPIC};
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setDynamicNodeProperties(Collections.singletonMap(Session_1_0.LIFETIME_POLICY, new DeleteOnClose()));
@@ -427,7 +417,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
 
     private void assertReceivingLinkFails(final Source source, final AmqpError expectedError) throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final Detach responseDetach = interaction.negotiateOpen()
@@ -448,7 +438,7 @@ public class TemporaryDestinationTest extends BrokerAdminUsingTestBase
 
     private void assertSendingLinkSucceeds(final String address) throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Target target = new Target();
             target.setAddress(address);
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/bindmapjms/TopicDestinationTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/bindmapjms/TopicDestinationTest.java
index 968de73..e60337c 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/bindmapjms/TopicDestinationTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/bindmapjms/TopicDestinationTest.java
@@ -32,9 +32,6 @@ import static org.hamcrest.Matchers.lessThan;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
 
-import java.net.InetSocketAddress;
-
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.type.Symbol;
@@ -50,7 +47,6 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.Role;
 import org.apache.qpid.tests.protocol.SpecificationTest;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 import org.apache.qpid.tests.utils.BrokerSpecific;
 
@@ -60,13 +56,6 @@ public class TopicDestinationTest extends BrokerAdminUsingTestBase
     private static final Symbol TOPIC = Symbol.valueOf("topic");
     private static final Symbol GLOBAL = Symbol.valueOf("global");
     private static final Symbol SHARED = Symbol.valueOf("shared");
-    private InetSocketAddress _brokerAddress;
-
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-    }
 
     @Test
     @SpecificationTest(section = "5.2",
@@ -77,7 +66,7 @@ public class TopicDestinationTest extends BrokerAdminUsingTestBase
                           + " Destination Type = Topic, terminus capability (type) = topic")
     public void nonSharedVolatileSubscriptionLinkAttachDetach() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setExpiryPolicy(TerminusExpiryPolicy.LINK_DETACH);
@@ -111,7 +100,7 @@ public class TopicDestinationTest extends BrokerAdminUsingTestBase
     @Test
     public void nonSharedDurableSubscriptionLinkAttachDetach() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setExpiryPolicy(TerminusExpiryPolicy.NEVER);
@@ -146,7 +135,7 @@ public class TopicDestinationTest extends BrokerAdminUsingTestBase
     public void sharedGlobalVolatileSubscriptionLinkAttachDetach() throws Exception
     {
         String subscriptionName = "foo";
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setExpiryPolicy(TerminusExpiryPolicy.LINK_DETACH);
@@ -204,7 +193,7 @@ public class TopicDestinationTest extends BrokerAdminUsingTestBase
     public void sharedGlobalDurableSubscriptionLinkAttachDetach() throws Exception
     {
         String subscriptionName = "foo";
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setExpiryPolicy(TerminusExpiryPolicy.NEVER);
@@ -286,7 +275,7 @@ public class TopicDestinationTest extends BrokerAdminUsingTestBase
     public void sharedGlobalDurableSubscriptionCloseWithActiveLink() throws Exception
     {
         String subscriptionName = "foo";
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Source source = new Source();
             source.setExpiryPolicy(TerminusExpiryPolicy.NEVER);
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
index fd47982..5c1768d 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
@@ -67,21 +67,17 @@ import org.apache.qpid.tests.utils.ConfigItem;
 @ConfigItem(name = "qpid.tests.mms.messagestore.persistence", value = "false", jvm = true)
 public class FilterTest extends BrokerAdminUsingTestBase
 {
-    public static final String TEST_MESSAGE_CONTENT = "testContent";
-    private InetSocketAddress _brokerAddress;
-
     @Before
     public void setUp()
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
     @Test
     @SpecificationTest(section = "3.5.1", description = "A source can restrict the messages transferred from a source by specifying a filter.")
     public void selectorFilter() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -97,7 +93,7 @@ public class FilterTest extends BrokerAdminUsingTestBase
             {
                 QpidByteBuffer payload =
                         generateMessagePayloadWithApplicationProperties(Collections.singletonMap("index", i),
-                                                                        TEST_MESSAGE_CONTENT);
+                                                                        getTestName());
                 interaction.transferPayload(payload)
                            .transferSettled(true)
                            .transfer();
@@ -105,7 +101,7 @@ public class FilterTest extends BrokerAdminUsingTestBase
             interaction.detachClose(true).detach().close().sync();
         }
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -125,7 +121,7 @@ public class FilterTest extends BrokerAdminUsingTestBase
                        .flow();
 
             Object data = interaction.receiveDelivery().decodeLatestDelivery().getDecodedLatestDelivery();
-            assertThat(data, is(equalTo(TEST_MESSAGE_CONTENT)));
+            assertThat(data, is(equalTo(getTestName())));
 
             Map<String, Object> applicationProperties = interaction.getLatestDeliveryApplicationProperties();
             assertThat(applicationProperties, is(notNullValue()));
@@ -144,8 +140,7 @@ public class FilterTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "3.5.1", description = "")
     public void unsupportedFilter() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final Map<Symbol, Filter> filters = new HashMap<>();
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/management/ManagementTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/management/ManagementTest.java
index 5034d6e..aea8b23 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/management/ManagementTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/management/ManagementTest.java
@@ -27,10 +27,8 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.util.Collections;
 
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.Session_1_0;
@@ -48,18 +46,10 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.Role;
 import org.apache.qpid.tests.protocol.SpecificationTest;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class ManagementTest extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
-
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-    }
 
     @Test
     @SpecificationTest(section = "2.6.7",
@@ -71,7 +61,7 @@ public class ManagementTest extends BrokerAdminUsingTestBase
     {
         assumeThat(getBrokerAdmin().isManagementSupported(), is(equalTo(true)));
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Target target = new Target();
             target.setDynamicNodeProperties(Collections.singletonMap(Session_1_0.LIFETIME_POLICY, new DeleteOnClose()));
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/message/MalformedMessage.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/message/MalformedMessage.java
index 66fd9f3..336a07d 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/message/MalformedMessage.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/message/MalformedMessage.java
@@ -28,12 +28,10 @@ import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 
-import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.hamcrest.Matchers;
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.bytebuffer.QpidByteBuffer;
@@ -59,20 +57,12 @@ import org.apache.qpid.tests.utils.ConfigItem;
 @ConfigItem(name = "connection.maxUncommittedInMemorySize", value = "1")
 public class MalformedMessage extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
     private static final String CONTENT_TEXT = "Test";
 
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-    }
-
     @Test
     public void malformedMessage() throws Exception
     {
-        try (final FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (final FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/queue/QueueDeletionTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/queue/QueueDeletionTest.java
index ab67702..bf38b05 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/queue/QueueDeletionTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/queue/QueueDeletionTest.java
@@ -30,8 +30,6 @@ import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Before;
 import org.junit.Test;
 
@@ -61,19 +59,16 @@ import org.apache.qpid.tests.utils.BrokerSpecific;
 public class QueueDeletionTest extends BrokerAdminUsingTestBase
 {
 
-    private InetSocketAddress _brokerAddress;
-
     @Before
     public void setUp()
     {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
     }
 
     @Test
     public void senderDetachedOnQueueDelete() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             final Attach responseAttach = interaction.negotiateOpen()
@@ -98,7 +93,7 @@ public class QueueDeletionTest extends BrokerAdminUsingTestBase
     @Test
     public void receiverDetachedOnQueueDelete() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             final Attach responseAttach = interaction.negotiateOpen()
@@ -123,7 +118,7 @@ public class QueueDeletionTest extends BrokerAdminUsingTestBase
     @Test
     public void transactedSenderDetachedOnQueueDeletionWhenTransactionInProgress() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
 
@@ -176,7 +171,7 @@ public class QueueDeletionTest extends BrokerAdminUsingTestBase
                                 BrokerAdmin.TEST_QUEUE_NAME,
                                 getTestName() + 1,
                                 getTestName() + 2);
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             Attach attach = interaction.negotiateOpen()
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/transactiontimeout/TransactionTimeoutTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/transactiontimeout/TransactionTimeoutTest.java
index 3cf5a10..074ff59 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/transactiontimeout/TransactionTimeoutTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/qpid/transactiontimeout/TransactionTimeoutTest.java
@@ -26,8 +26,6 @@ import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Before;
 import org.junit.Test;
 
@@ -55,19 +53,16 @@ import org.apache.qpid.tests.utils.ConfigItem;
 @ConfigItem(name = "virtualhost.storeTransactionOpenTimeoutClose", value = "1000")
 public class TransactionTimeoutTest extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
-
     @Before
     public void setUp()
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
     @Test
     public void transactionalPostingTimeout() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
 
@@ -107,7 +102,7 @@ public class TransactionTimeoutTest extends BrokerAdminUsingTestBase
     public void transactionalRetirementTimeout() throws Exception
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -157,6 +152,6 @@ public class TransactionTimeoutTest extends BrokerAdminUsingTestBase
             assertThat(responseClose.getError(), is(notNullValue()));
             assertThat(responseClose.getError().getCondition(), equalTo(TransactionError.TRANSACTION_TIMEOUT));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 }
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/CloseExistingPolicy.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/CloseExistingPolicy.java
index 065cbbf..6c85ef6 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/CloseExistingPolicy.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/CloseExistingPolicy.java
@@ -33,10 +33,8 @@ import static org.apache.qpid.tests.protocol.v1_0.extensions.soleconn.SoleConnec
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.in;
 
-import java.net.InetSocketAddress;
 import java.util.Collections;
 
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
@@ -45,23 +43,15 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.Close;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Open;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class CloseExistingPolicy extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
-
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-    }
 
     @Test
     public void basicNegotiation() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Open responseOpen = transport.newInteraction()
                                          .openContainerId("testContainerId")
@@ -87,7 +77,7 @@ public class CloseExistingPolicy extends BrokerAdminUsingTestBase
     @Test
     public void existingConnectionClosed() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             interaction1.openContainerId("testContainerId")
@@ -100,7 +90,7 @@ public class CloseExistingPolicy extends BrokerAdminUsingTestBase
             assumeSoleConnectionCapability(responseOpen);
             assumeEnforcementPolicyCloseExisting(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 interaction2.openContainerId("testContainerId")
@@ -123,7 +113,7 @@ public class CloseExistingPolicy extends BrokerAdminUsingTestBase
     @Test
     public void strongDetectionWhenConnectionWithoutSoleConnectionCapabilityOpened() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             // Omit setting the desired capability to test weak detection
@@ -134,7 +124,7 @@ public class CloseExistingPolicy extends BrokerAdminUsingTestBase
             assumeSoleConnectionCapability(responseOpen);
             assumeDetectionPolicyStrong(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 interaction2.openContainerId("testContainerId")
@@ -155,7 +145,7 @@ public class CloseExistingPolicy extends BrokerAdminUsingTestBase
     @Test
     public void strongDetection() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             Open responseOpen = interaction1.openContainerId("testContainerId")
@@ -170,7 +160,7 @@ public class CloseExistingPolicy extends BrokerAdminUsingTestBase
             assumeEnforcementPolicyCloseExisting(responseOpen);
             assumeDetectionPolicyStrong(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 // Omit setting the desired capability to test strong detection
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/MixedPolicy.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/MixedPolicy.java
index 48b71a7..11e0aae 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/MixedPolicy.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/MixedPolicy.java
@@ -28,33 +28,23 @@ import static org.apache.qpid.tests.protocol.v1_0.extensions.soleconn.SoleConnec
 import static org.apache.qpid.tests.protocol.v1_0.extensions.soleconn.SoleConnectionAsserts.assumeEnforcementPolicyRefuse;
 import static org.apache.qpid.tests.protocol.v1_0.extensions.soleconn.SoleConnectionAsserts.assumeSoleConnectionCapability;
 
-import java.net.InetSocketAddress;
 import java.util.Collections;
 
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.type.transport.Close;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Open;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class MixedPolicy extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
-
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-    }
 
     @Test
     public void firstCloseThenRefuse() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             interaction1.openContainerId("testContainerId")
@@ -67,7 +57,7 @@ public class MixedPolicy extends BrokerAdminUsingTestBase
             assumeSoleConnectionCapability(responseOpen);
             assumeEnforcementPolicyCloseExisting(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 interaction2.openContainerId("testContainerId")
@@ -80,7 +70,7 @@ public class MixedPolicy extends BrokerAdminUsingTestBase
 
                 interaction2.consumeResponse(Open.class);
 
-                try (FrameTransport transport3 = new FrameTransport(_brokerAddress).connect())
+                try (FrameTransport transport3 = new FrameTransport(getBrokerAdmin()).connect())
                 {
                     final Interaction interaction3 = transport3.newInteraction();
                     interaction3.openContainerId("testContainerId")
@@ -97,7 +87,7 @@ public class MixedPolicy extends BrokerAdminUsingTestBase
     @Test
     public void firstRefuseThenClose() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             interaction1.openContainerId("testContainerId")
@@ -110,7 +100,7 @@ public class MixedPolicy extends BrokerAdminUsingTestBase
             assumeSoleConnectionCapability(responseOpen);
             assumeEnforcementPolicyRefuse(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 interaction2.openContainerId("testContainerId")
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/RefuseConnectionPolicy.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/RefuseConnectionPolicy.java
index 5ea0e38..58fcf1c 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/RefuseConnectionPolicy.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/soleconn/RefuseConnectionPolicy.java
@@ -33,10 +33,8 @@ import static org.apache.qpid.tests.protocol.v1_0.extensions.soleconn.SoleConnec
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.in;
 
-import java.net.InetSocketAddress;
 import java.util.Collections;
 
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
@@ -45,23 +43,15 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.Close;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Open;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
-
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-    }
 
     @Test
     public void basicNegotiation() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect();)
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final Open responseOpen = interaction.openContainerId("testContainerId")
@@ -87,7 +77,7 @@ public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
     @Test
     public void newConnectionRefused() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             interaction1.openContainerId("testContainerId")
@@ -100,7 +90,7 @@ public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
             assumeSoleConnectionCapability(responseOpen);
             assumeEnforcementPolicyRefuse(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 final Open responseOpen2 = interaction2.openContainerId("testContainerId")
@@ -121,7 +111,7 @@ public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
     @Test
     public void strongDetectionWhenConnectionWithoutSoleConnectionCapabilityOpened() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             // Omit setting the desired capability to test weak detection
@@ -132,7 +122,7 @@ public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
             assumeSoleConnectionCapability(responseOpen);
             assumeDetectionPolicyStrong(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 final Open responseOpen2 = interaction2.openContainerId("testContainerId")
@@ -152,7 +142,7 @@ public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
     @Test
     public void strongDetection() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             final Open responseOpen = interaction1.openContainerId("testContainerId")
@@ -167,7 +157,7 @@ public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
             assumeEnforcementPolicyRefuse(responseOpen);
             assumeDetectionPolicyStrong(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 // Omit setting the desired capability to test strong detection
@@ -184,7 +174,7 @@ public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
     @Test
     public void refuseIsDefault() throws Exception
     {
-        try (FrameTransport transport1 = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport1 = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction1 = transport1.newInteraction();
             // Omit setting the enforcement policy explicitly. The default is refuse.
@@ -196,7 +186,7 @@ public class RefuseConnectionPolicy extends BrokerAdminUsingTestBase
             assumeSoleConnectionCapability(responseOpen);
             assumeEnforcementPolicyRefuse(responseOpen);
 
-            try (FrameTransport transport2 = new FrameTransport(_brokerAddress).connect())
+            try (FrameTransport transport2 = new FrameTransport(getBrokerAdmin()).connect())
             {
                 final Interaction interaction2 = transport2.newInteraction();
                 // Omit setting the enforcement policy explicitly. The default is refuse.
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/websocket/WebSocketTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/websocket/WebSocketTest.java
index e7e9aed..6e913c9 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/websocket/WebSocketTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/websocket/WebSocketTest.java
@@ -30,9 +30,6 @@ import static org.hamcrest.Matchers.notNullValue;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
-import java.nio.charset.StandardCharsets;
-
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,28 +39,26 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.Open;
 import org.apache.qpid.tests.protocol.SpecificationTest;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class WebSocketTest extends BrokerAdminUsingTestBase
 {
-    public static final byte[] AMQP_HEADER = "AMQP\0\1\0\0".getBytes(StandardCharsets.UTF_8);
 
     @Before
     public void setUp()
     {
         assumeThat("Broker support for AMQP over websockets is required", getBrokerAdmin().isWebSocketSupported(), is(true));
+        assumeThat("Broker support for Anonymous open is required", getBrokerAdmin().isAnonymousSupported(), is(true));
     }
 
     @Test
     @SpecificationTest(section = "2.1", description = "Opening a WebSocket Connection")
     public void protocolHeader() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQPWS);
-        try (FrameTransport transport = new WebSocketFrameTransport(addr).connect())
+        try (FrameTransport transport = new WebSocketFrameTransport(getBrokerAdmin()).connect())
         {
             final byte[] response = transport.newInteraction().negotiateProtocol().consumeResponse().getLatestResponse(byte[].class);
-            assertArrayEquals("Unexpected protocol header response", AMQP_HEADER, response);
+            assertArrayEquals("Unexpected protocol header response", transport.getProtocolHeader(), response);
         }
     }
 
@@ -71,8 +66,7 @@ public class WebSocketTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "2.4", description = "[...] a single AMQP frame MAY be split over one or more consecutive WebSocket messages. ")
     public void amqpFramesSplitOverManyWebSocketFrames() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQPWS);
-        try (FrameTransport transport = new WebSocketFrameTransport(addr).splitAmqpFrames().connect())
+        try (FrameTransport transport = new WebSocketFrameTransport(getBrokerAdmin()).splitAmqpFrames().connect())
         {
             Interaction interaction = transport.newInteraction();
             final Open responseOpen = interaction
@@ -95,8 +89,7 @@ public class WebSocketTest extends BrokerAdminUsingTestBase
     {
         assumeThat(getBrokerAdmin().isWebSocketSupported(), is(true));
 
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQPWS);
-        try (FrameTransport transport = new WebSocketFrameTransport(addr).connect())
+        try (FrameTransport transport = new WebSocketFrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             final Open responseOpen = interaction
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/DeleteOnCloseTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/DeleteOnCloseTest.java
index 01534ee..4bd9d23 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/DeleteOnCloseTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/DeleteOnCloseTest.java
@@ -26,12 +26,10 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.util.Collections;
 import java.util.concurrent.TimeUnit;
 
 import com.google.common.util.concurrent.ListenableFuture;
-import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.Session_1_0;
@@ -44,7 +42,6 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.Begin;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Detach;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Flow;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Role;
-
 import org.apache.qpid.tests.protocol.Response;
 import org.apache.qpid.tests.protocol.SpecificationTest;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
@@ -55,13 +52,6 @@ import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
-
-    @Before
-    public void setUp()
-    {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-    }
 
     @Test
     @SpecificationTest(section = "3.5.10",
@@ -69,7 +59,7 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
                           + "creation ceases to exist.")
     public void deleteOnCloseOnSource() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Source source = new Source();
             source.setDynamicNodeProperties(Collections.singletonMap(Session_1_0.LIFETIME_POLICY, new DeleteOnClose()));
@@ -87,14 +77,14 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
 
             try
             {
-                assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(true));
+                assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(true));
             }
             finally
             {
                 interaction.detachClose(true).detach().consumeResponse().getLatestResponse(Detach.class);
             }
 
-            assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(false));
+            assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(false));
         }
     }
 
@@ -104,7 +94,7 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
                           + "creation ceases to exist.")
     public void deleteOnCloseOnTarget() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Target target = new Target();
             target.setDynamicNodeProperties(Collections.singletonMap(Session_1_0.LIFETIME_POLICY, new DeleteOnClose()));
@@ -120,19 +110,19 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
             assertThat(attachResponse.getTarget(), is(notNullValue()));
             final String newTempQueueAddress = ((Target) attachResponse.getTarget()).getAddress();
 
-            assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(true));
+            assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(true));
 
             interaction.consumeResponse().getLatestResponse(Flow.class);
             try
             {
-                assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(true));
+                assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(true));
             }
             finally
             {
                 interaction.detachClose(true).detach().consumeResponse().getLatestResponse(Detach.class);
             }
 
-            assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(false));
+            assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(false));
         }
     }
 
@@ -142,7 +132,7 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
                           + "creation ceases to exist.")
     public void doesNotDeleteOnDetach() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Source source = new Source();
             source.setDynamicNodeProperties(Collections.singletonMap(Session_1_0.LIFETIME_POLICY, new DeleteOnClose()));
@@ -160,14 +150,14 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
 
             try
             {
-                assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(true));
+                assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(true));
             }
             finally
             {
                 interaction.detach().consumeResponse().getLatestResponse(Detach.class);
             }
 
-            assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(true));
+            assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(true));
 
             interaction.attach()
                        .consumeResponse(Attach.class)
@@ -175,7 +165,7 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
                        .detach()
                        .consumeResponse()
                        .getLatestResponse(Detach.class);
-            assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(false));
+            assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(false));
         }
     }
 
@@ -185,7 +175,7 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
         assumeThat(getBrokerAdmin().supportsRestart(), is(true));
 
         final String newTempQueueAddress;
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Source source = new Source();
             source.setDynamicNodeProperties(Collections.singletonMap(Session_1_0.LIFETIME_POLICY, new DeleteOnClose()));
@@ -202,14 +192,12 @@ public class DeleteOnCloseTest extends BrokerAdminUsingTestBase
             assertThat(attachResponse.getSource(), is(notNullValue()));
             newTempQueueAddress = ((Source) attachResponse.getSource()).getAddress();
 
-            assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(true));
+            assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(true));
         }
 
         final ListenableFuture<Void> restart = getBrokerAdmin().restart();
         restart.get(BrokerAdmin.RESTART_TIMEOUT, TimeUnit.MILLISECONDS);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-
-        assertThat(Utils.doesNodeExist(_brokerAddress, newTempQueueAddress), is(true));
+        assertThat(Utils.doesNodeExist(getBrokerAdmin(), newTempQueueAddress), is(true));
     }
 
     private void assumeAttach(final Response<?> response)
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MessageFormat.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MessageFormat.java
index f92beb1..3e1850b 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MessageFormat.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MessageFormat.java
@@ -24,8 +24,6 @@ import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,12 +42,10 @@ import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class MessageFormat extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
 
     @Before
     public void setUp()
     {
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
     }
 
@@ -61,7 +57,7 @@ public class MessageFormat extends BrokerAdminUsingTestBase
                           + "continuation transfer differs from the message-format on the first transfer of a delivery.")
     public void differentMessageFormatOnSameDeliveryFails() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             QpidByteBuffer[] payloads = Utils.splitPayload(getTestName(), 2);
 
@@ -94,6 +90,6 @@ public class MessageFormat extends BrokerAdminUsingTestBase
 
         final String testMessage = getTestName() + "_2";
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, testMessage);
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(testMessage)));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(testMessage)));
     }
 }
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
index c9571df..5557eb8 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
@@ -27,7 +27,6 @@ import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.oneOf;
 
-import java.net.InetSocketAddress;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -54,13 +53,11 @@ import org.apache.qpid.tests.utils.ConfigItem;
 @ConfigItem(name = "qpid.tests.mms.messagestore.persistence", value = "false", jvm = true)
 public class MultiTransferTest extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
 
     @Before
     public void setUp()
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
     @Test
@@ -70,7 +67,7 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
                           + " but the last transfer frame")
     public void multiTransferMessage() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             QpidByteBuffer[] payloads = Utils.splitPayload(getTestName(), 2);
 
@@ -106,7 +103,7 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
             assertThat(disposition.getLast(), oneOf(null, deliveryId));
             assertThat(disposition.getSettled(), is(equalTo(true)));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Test
@@ -116,7 +113,7 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
                           + " message and can only be omitted for continuation transfers.")
     public void multiTransferMessageOmittingOptionalTagAndID() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             QpidByteBuffer[] payloads = Utils.splitPayload(getTestName(), 4);
             final UnsignedInteger deliveryId = UnsignedInteger.ZERO;
@@ -166,7 +163,7 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
             assertThat(disposition.getSettled(), is(equalTo(true)));
             assertThat(disposition.getState(), is(instanceOf(Accepted.class)));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Test
@@ -175,7 +172,7 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
                           + "In this case the receiver MUST discard the message data that was transferred prior to the abort.")
     public void abortMultiTransferMessage() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             QpidByteBuffer[] payloads = Utils.splitPayload(getTestName(), 2);
 
@@ -209,7 +206,7 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
         }
         String secondMessage = getTestName() + "_2";
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, secondMessage);
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(secondMessage)));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(secondMessage)));
     }
 
     @Test
@@ -219,7 +216,7 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
     {
         String messageContent1 = getTestName() + "_1";
         String messageContent2 = getTestName() + "_2";
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             QpidByteBuffer[] messagePayload1 = Utils.splitPayload(messageContent1, 2);
             QpidByteBuffer[] messagePayload2 = Utils.splitPayload(messageContent2, 2);
@@ -308,8 +305,8 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
             assertThat(dispositionMap.containsKey(deliverId1), is(true));
             assertThat(dispositionMap.containsKey(deliveryId2), is(true));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(messageContent1)));
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(messageContent2)));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(messageContent1)));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(messageContent2)));
     }
 
     @Test
@@ -324,7 +321,7 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
     {
         String messageContent1 = getTestName() + "_1";
         String messageContent2 = getTestName() + "_2";
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             QpidByteBuffer[] messagePayload1 = Utils.splitPayload(messageContent1, 2);
             QpidByteBuffer[] messagePayload2 = Utils.splitPayload(messageContent2, 2);
@@ -385,6 +382,6 @@ public class MultiTransferTest extends BrokerAdminUsingTestBase
 
         final String controlMessage = getTestName() + "_Control";
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, controlMessage);
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(controlMessage)));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(controlMessage)));
     }
 }
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/OutcomeTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/OutcomeTest.java
index f65ab0e..5969dd7 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/OutcomeTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/OutcomeTest.java
@@ -24,14 +24,10 @@ import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.emptyArray;
 import static org.hamcrest.Matchers.hasItemInArray;
-import static org.hamcrest.Matchers.nullValue;
 import static org.hamcrest.Matchers.oneOf;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +37,6 @@ import org.apache.qpid.server.protocol.v1_0.type.messaging.Modified;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Source;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Attach;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Begin;
-import org.apache.qpid.server.protocol.v1_0.type.transport.Open;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Disposition;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Flow;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Role;
@@ -54,13 +49,11 @@ import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class OutcomeTest extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
 
     @Before
     public void setUp()
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
 
@@ -73,7 +66,7 @@ public class OutcomeTest extends BrokerAdminUsingTestBase
         String content2 = getTestName() + "_2";
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, content1, content2);
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -114,8 +107,8 @@ public class OutcomeTest extends BrokerAdminUsingTestBase
             // verify that no unexpected performative is received by closing
             interaction.doCloseConnection();
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content1)));
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content2)));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content1)));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content2)));
     }
 
     @Test
@@ -129,7 +122,7 @@ public class OutcomeTest extends BrokerAdminUsingTestBase
                           + " “amqp:accepted:list”.")
     public void transferMessageWithAttachSourceHavingExplicitlySetOutcomesToAccepted() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             Disposition disposition = interaction.negotiateOpen()
@@ -149,7 +142,7 @@ public class OutcomeTest extends BrokerAdminUsingTestBase
             assertThat(disposition.getLast(), oneOf(null, UnsignedInteger.ZERO));
             assertThat(disposition.getSettled(), is(equalTo(true)));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
 
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java
index 1142dfc..480263a 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java
@@ -36,7 +36,6 @@ import static org.hamcrest.Matchers.oneOf;
 import static org.junit.Assert.fail;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -92,13 +91,11 @@ import org.apache.qpid.tests.utils.ConfigItem;
 public class TransferTest extends BrokerAdminUsingTestBase
 {
     private static final long MAX_MAX_MESSAGE_SIZE_WE_ARE_WILLING_TO_TEST = 200 * 1024 * 1024L;
-    private InetSocketAddress _brokerAddress;
 
     @Before
     public void setUp()
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
     @Test
@@ -106,7 +103,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
             description = "mandatory [...] a non null value for the field is always encoded.")
     public void transferHandleUnspecified() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interact = transport.newInteraction();
             Response<?> response = interact.negotiateOpen()
@@ -138,7 +135,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
             description = "The delivery-id MUST be supplied on the first transfer of a multi-transfer delivery.")
     public void transferDeliveryIdUnspecified() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interact = transport.newInteraction();
             Response<?> response = interact.negotiateOpen()
@@ -170,7 +167,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
                           + "[...] and can only be omitted for continuation transfers.")
     public void transferDeliveryTagUnspecified() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction()
                                                .negotiateOpen()
@@ -203,7 +200,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
                           + " rather than waiting for the sender to settle first, that yields an at-least-once guarantee.")
     public void transferUnsettled() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
             Disposition responseDisposition = transport.newInteraction()
@@ -224,7 +221,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
             assertThat(responseDisposition.getSettled(), is(Boolean.TRUE));
             assertThat(responseDisposition.getState(), is(instanceOf(Accepted.class)));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Test
@@ -234,7 +231,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     public void transferMessagesWithTheSameDeliveryTagOnSeparateLinksBelongingToTheSameSession() throws Exception
     {
         final String[] contents = Utils.createTestMessageContents(2, getTestName());
-        try (final FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (final FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger link1Handle = UnsignedInteger.ONE;
             final UnsignedInteger link2Handle = UnsignedInteger.valueOf(2);
@@ -294,7 +291,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
                           + " it has arrived without waiting for the sender to settle first")
     public void transferReceiverSettleModeFirst() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Disposition responseDisposition = transport.newInteraction()
                                                        .negotiateOpen()
@@ -312,7 +309,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
             assertThat(responseDisposition.getSettled(), is(Boolean.TRUE));
             assertThat(responseDisposition.getState(), is(instanceOf(Accepted.class)));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Test
@@ -326,7 +323,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
                           + " If the negotiated link value is first, then it is illegal to set this field to second.")
     public void transferReceiverSettleModeCannotBeSecondWhenLinkModeIsFirst() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Response<?> response = transport.newInteraction()
                                      .negotiateOpen()
@@ -359,7 +356,8 @@ public class TransferTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "2.6.12 Transferring A Message", description = "Pipelined message send")
     public void presettledPipelined() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        assumeThat(getBrokerAdmin().isAnonymousSupported(), equalTo(true));
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateProtocol()
@@ -383,7 +381,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
             interaction.consumeResponse().getLatestResponse(Flow.class);
             interaction.consumeResponse().getLatestResponse(Close.class);
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Test
@@ -396,7 +394,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     @BrokerSpecific(kind = BrokerAdmin.KIND_BROKER_J)
     public void durableTransferWithRejectedOutcome() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             MessageEncoder messageEncoder = new MessageEncoder();
             final Header header = new Header();
@@ -443,7 +441,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     @BrokerSpecific(kind = BrokerAdmin.KIND_BROKER_J)
     public void durableTransferWithoutRejectedOutcome() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             MessageEncoder messageEncoder = new MessageEncoder();
             final Header header = new Header();
@@ -492,7 +490,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -521,7 +519,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
             Object data = messageDecoder.getData();
             assertThat(data, is(equalTo(getTestName())));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Test
@@ -530,7 +528,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -565,7 +563,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "2.6.12", description = "Transferring A Message.")
     public void receiveTransferReceiverSettleSecond() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -611,7 +609,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "2.6.12", description = "Transferring A Message.")
     public void receiveTransferReceiverSettleSecondWithRejectedOutcome() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -658,7 +656,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
                        .disposition();
 
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Ignore
@@ -668,7 +666,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -704,7 +702,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
             interaction.consumeResponse(null, Flow.class);
 
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Test
@@ -712,13 +710,12 @@ public class TransferTest extends BrokerAdminUsingTestBase
                                                          + " non-terminal delivery states to the sender")
     public void receiveTransferReceiverIndicatesNonTerminalDeliveryState() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
 
-            Open open = interaction.negotiateProtocol().consumeResponse()
-                                   .openMaxFrameSize(UnsignedInteger.valueOf(4096))
-                                   .open().consumeResponse()
+            Open open = interaction.openMaxFrameSize(UnsignedInteger.valueOf(4096))
+                                   .negotiateOpen()
                                    .getLatestResponse(Open.class);
             interaction.begin().consumeResponse()
                        .attachRole(Role.RECEIVER)
@@ -785,7 +782,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -815,7 +812,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
         }
 
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, "test");
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo("test")));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo("test")));
     }
 
     @Test
@@ -825,7 +822,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     public void transfersWithDuplicateUnsettledDeliveryTag() throws Exception
     {
         String content1 = getTestName() + "_1";
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Binary deliveryTag = new Binary("testDeliveryTag".getBytes(UTF_8));
 
@@ -886,7 +883,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     public void deliveryTagCanBeReusedAfterDeliveryIsSettled() throws Exception
     {
         final String[] contents = Utils.createTestMessageContents(2, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Binary deliveryTag = new Binary("testDeliveryTag".getBytes(UTF_8));
 
@@ -927,7 +924,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
                           + " size imposed by the link endpoint.")
     public void exceedMaxMessageSizeLimit() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Binary deliveryTag = new Binary("testDeliveryTag".getBytes(UTF_8));
 
@@ -995,7 +992,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     public void transferMultipleDeliveries() throws Exception
     {
         final String[] contents = Utils.createTestMessageContents(3, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -1037,7 +1034,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     public void transferMixtureOfTransactionalAndNonTransactionalDeliveries() throws Exception
     {
         final String[] contents = Utils.createTestMessageContents(3, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction().negotiateOpen()
                                                      .begin().consumeResponse(Begin.class)
@@ -1084,7 +1081,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
         final String[] contents = Utils.createTestMessageContents(numberOfMessages, getTestName());
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, contents);
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -1124,7 +1121,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
 
         final String messageText = getTestName() + "_" + 4;
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, messageText);
-        Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+        Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
         assertThat(receivedMessage, is(equalTo(messageText)));
     }
 
@@ -1135,7 +1132,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
         final int numberOfMessages = 4;
         final String[] contents = Utils.createTestMessageContents(numberOfMessages, getTestName());
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -1185,7 +1182,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
 
         String messageText = getTestName() + "_" + 4;
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, messageText);
-        Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+        Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
         assertThat(receivedMessage, is(equalTo(messageText)));
     }
 
@@ -1221,7 +1218,7 @@ public class TransferTest extends BrokerAdminUsingTestBase
     {
         for (final String content : contents)
         {
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content)));
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content)));
         }
     }
 
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/DischargeTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/DischargeTest.java
index 3fecc02..1c56b77 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/DischargeTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/DischargeTest.java
@@ -21,7 +21,6 @@
 package org.apache.qpid.tests.protocol.v1_0.transaction;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.apache.qpid.tests.utils.BrokerAdmin.KIND_BROKER_J;
 import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.not;
@@ -32,7 +31,6 @@ import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.util.List;
 
 import org.junit.Before;
@@ -63,13 +61,11 @@ import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class DischargeTest extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
 
     @Before
     public void setUp()
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
     @Test
@@ -80,7 +76,7 @@ public class DischargeTest extends BrokerAdminUsingTestBase
                           + " message MUST be rejected with this outcome carrying the transaction-error.")
     public void dischargeUnknownTransactionIdWhenSourceSupportsRejectedOutcome() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -112,7 +108,7 @@ public class DischargeTest extends BrokerAdminUsingTestBase
                           + " the transaction-error.")
     public void dischargeUnknownTransactionIdWhenSourceDoesNotSupportRejectedOutcome() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -143,7 +139,7 @@ public class DischargeTest extends BrokerAdminUsingTestBase
                           + " desired transaction identifier and the outcome to be applied upon a successful discharge.")
     public void dischargeSettledAfterReceiverDetach() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -185,7 +181,7 @@ public class DischargeTest extends BrokerAdminUsingTestBase
 
         String secondMessage = getTestName() + "_2";
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, secondMessage);
-        Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+        Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
         assertThat(receivedMessage, is(equalTo(secondMessage)));
     }
 
@@ -200,7 +196,7 @@ public class DischargeTest extends BrokerAdminUsingTestBase
                           + " was associated.")
     public void dischargeSettledAfterSenderDetach() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -228,7 +224,7 @@ public class DischargeTest extends BrokerAdminUsingTestBase
             assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
         }
 
-        final Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+        final Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
         assertThat(receivedMessage, is(equalTo(getTestName())));
     }
 
@@ -240,7 +236,7 @@ public class DischargeTest extends BrokerAdminUsingTestBase
                           + " reflect the outcome that was applied.")
     public void dischargeUnsettledAfterSenderClose() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -273,7 +269,7 @@ public class DischargeTest extends BrokerAdminUsingTestBase
             assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
         }
 
-        final Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+        final Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
         assertThat(receivedMessage, is(equalTo(getTestName())));
     }
 
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/TransactionalTransferTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/TransactionalTransferTest.java
index d215d91..e708da5 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/TransactionalTransferTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/TransactionalTransferTest.java
@@ -26,14 +26,11 @@ import static org.hamcrest.CoreMatchers.notNullValue;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.fail;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.util.Collections;
 import java.util.List;
 
-import org.hamcrest.Matchers;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -47,10 +44,7 @@ import org.apache.qpid.server.protocol.v1_0.type.transaction.TransactionError;
 import org.apache.qpid.server.protocol.v1_0.type.transaction.TransactionalState;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Attach;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Begin;
-import org.apache.qpid.server.protocol.v1_0.type.transport.Close;
-import org.apache.qpid.server.protocol.v1_0.type.transport.Detach;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Disposition;
-import org.apache.qpid.server.protocol.v1_0.type.transport.End;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Error;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Flow;
 import org.apache.qpid.server.protocol.v1_0.type.transport.ReceiverSettleMode;
@@ -66,13 +60,11 @@ import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class TransactionalTransferTest extends BrokerAdminUsingTestBase
 {
-    private InetSocketAddress _brokerAddress;
 
     @Before
     public void setUp()
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
     @Test
@@ -82,7 +74,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
                           + "transactional-state carrying the appropriate transaction identifier.")
     public void sendTransactionalPostingReceiverSettlesFirst() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
 
@@ -116,7 +108,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
 
             assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
         }
-        Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+        Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
         assertThat(receivedMessage, is(equalTo(getTestName())));
     }
 
@@ -127,7 +119,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
                           + "transactional-state carrying the appropriate transaction identifier.")
     public void sendTransactionalPostingDischargeFail() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
 
@@ -163,7 +155,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
 
             final String content = getTestName() + "_2";
             Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, content);
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content)));
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content)));
         }
     }
 
@@ -174,7 +166,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
                           + "transactional-state carrying the appropriate transaction identifier.")
     public void sendTransactionalPostingReceiverSettlesSecond() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
 
@@ -217,7 +209,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
 
             assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
         }
-        assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+        assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
     }
 
     @Test
@@ -227,7 +219,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
                           + " transaction identifier.")
     public void sendTransactionalPostingTransferFailsDueToUnknownTransactionId() throws Exception
     {
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedInteger linkHandle = UnsignedInteger.ONE;
 
@@ -265,7 +257,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
     public void receiveTransactionalRetirementReceiverSettleFirst() throws Exception
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
 
@@ -312,7 +304,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
     public void receiveTransactionalRetirementDischargeFail() throws Exception
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -350,7 +342,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
 
             assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
 
-            Object receivedMessage = Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME);
+            Object receivedMessage = Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME);
             assertThat(receivedMessage, is(equalTo(getTestName())));
         }
     }
@@ -365,7 +357,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
     public void receiveTransactionalRetirementDispositionFailsDueToUnknownTransactionId() throws Exception
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             List<Transfer> transfers = interaction.negotiateOpen()
@@ -411,7 +403,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
         }
         finally
         {
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
         }
     }
 
@@ -422,7 +414,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
     public void receiveTransactionalRetirementReceiverSettleSecond() throws Exception
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -480,7 +472,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
     public void receiveTransactionalAcquisitionReceiverSettleFirst() throws Exception
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -529,7 +521,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
 
             final String content = getTestName() + "_2";
             Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, content);
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content)));
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content)));
         }
     }
 
@@ -543,7 +535,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
     public void receiveTransactionalAcquisitionDischargeFail() throws Exception
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -585,7 +577,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
 
             assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
 
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
 
             Transfer transfer = transfers.get(0);
             assumeThat(transfer.getState(), is(instanceOf(TransactionalState.class)));
@@ -605,7 +597,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
     public void receiveTransactionalAcquisitionFlowFailsDueToUnknownTransactionId() throws Exception
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             ErrorCarryingFrameBody response = interaction.negotiateOpen()
@@ -636,37 +628,10 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase
         }
         finally
         {
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(getTestName())));
         }
     }
 
-    private void assertUnknownTransactionIdError(final Response<?> response)
-    {
-        assertThat(response, is(notNullValue()));
-        final Object body = response.getBody();
-        assertThat(body, is(notNullValue()));
-        Error error = null;
-        if (body instanceof Close)
-        {
-            error = ((Close) body).getError();
-        }
-        else if (body instanceof End)
-        {
-            error = ((End) body).getError();
-        }
-        else if (body instanceof Detach)
-        {
-            error = ((Detach) body).getError();
-        }
-        else
-        {
-            fail(String.format("Unexpected response %s", body.getClass().getSimpleName()));
-        }
-
-        assertThat(error, is(notNullValue()));
-        assertThat(error.getCondition(), equalTo(TransactionError.UNKNOWN_ID));
-    }
-
     Binary integerToBinary(final int txnId)
     {
         byte[] data = new byte[4];
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/ProtocolHeaderTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/ProtocolHeaderTest.java
index bf6682f..46bbb22 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/ProtocolHeaderTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/ProtocolHeaderTest.java
@@ -22,19 +22,17 @@ package org.apache.qpid.tests.protocol.v1_0.transport;
 
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.nio.charset.StandardCharsets;
 
 import org.junit.Test;
 
-import org.apache.qpid.tests.utils.BrokerAdmin;
+import org.apache.qpid.tests.protocol.SpecificationTest;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
+import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
-import org.apache.qpid.tests.protocol.SpecificationTest;
 
 public class ProtocolHeaderTest extends BrokerAdminUsingTestBase
 {
@@ -46,8 +44,7 @@ public class ProtocolHeaderTest extends BrokerAdminUsingTestBase
                           + "the protocol version (currently 1 (MAJOR), 0 (MINOR), 0 (REVISION)).")
     public void successfulHeaderExchange() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.ANONYMOUS_AMQP).connect())
         {
             byte[] protocolHeader = "AMQP\0\1\0\0".getBytes(StandardCharsets.UTF_8);
             final byte[] response = transport.newInteraction()
@@ -66,8 +63,7 @@ public class ProtocolHeaderTest extends BrokerAdminUsingTestBase
     public void unacceptableProtocolIdSent_SaslAcceptable() throws Exception
     {
         assumeThat(getBrokerAdmin().isSASLSupported(), is(equalTo(true)));
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
 
             byte[] rawHeaderBytes = "AMQP\0\1\0\0".getBytes(StandardCharsets.UTF_8);
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/IdleTimeoutTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/IdleTimeoutTest.java
index d024cab..2eed51a 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/IdleTimeoutTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/IdleTimeoutTest.java
@@ -25,8 +25,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Test;
 
 import org.apache.qpid.server.model.port.AmqpPort;
@@ -54,8 +52,7 @@ public class IdleTimeoutTest extends BrokerAdminUsingTestBase
                           + "gracefully close the connection using a close frame with an error explaining why.")
     public void brokerClosesIdleConnection() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             Open responseOpen = interaction
@@ -74,8 +71,7 @@ public class IdleTimeoutTest extends BrokerAdminUsingTestBase
                           + "nothing to send, it MAY send an empty frame.")
     public void idleLine() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             Open responseOpen = interaction
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/OpenTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/OpenTest.java
index b607ca5..d2f6852 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/OpenTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/connection/OpenTest.java
@@ -33,8 +33,6 @@ import static org.hamcrest.Matchers.lessThanOrEqualTo;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
@@ -44,24 +42,24 @@ import org.apache.qpid.server.protocol.v1_0.type.transport.Close;
 import org.apache.qpid.server.protocol.v1_0.type.transport.ConnectionError;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Error;
 import org.apache.qpid.server.protocol.v1_0.type.transport.Open;
-import org.apache.qpid.tests.utils.BrokerAdmin;
+import org.apache.qpid.tests.protocol.SpecificationTest;
+import org.apache.qpid.tests.protocol.v1_0.EmptyResponse;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.protocol.v1_0.EmptyResponse;
+import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
-import org.apache.qpid.tests.protocol.SpecificationTest;
 import org.apache.qpid.tests.utils.BrokerSpecific;
 
 
 public class OpenTest extends BrokerAdminUsingTestBase
 {
+
     @Test
     @SpecificationTest(section = "1.3.4",
             description = "Open without mandatory fields should result in a decoding error.")
     public void emptyOpen() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             Open responseOpen = interaction.openContainerId(null)
@@ -87,8 +85,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
                           + "including the maximum frame size.")
     public void successfulOpen() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             final Open responseOpen = interaction.openContainerId("testContainerId")
@@ -112,8 +109,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
             description = "Implementations MUST be prepared to handle empty frames arriving on any valid channel")
     public void emptyFrame() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             interaction.openContainerId("testContainerId")
@@ -128,8 +124,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
             description = "Connections are subject to an idle timeout threshold.")
     public void idleTimeout() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             final int idleTimeOut = 1000;
@@ -156,8 +151,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
                           + " outside the supported range MUST close the connection with the framing-error error-code.")
     public void failOpenOnChannelNotZero() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             Open responseOpen = interaction.openContainerId("testContainerId")
@@ -183,8 +177,7 @@ public class OpenTest extends BrokerAdminUsingTestBase
     @BrokerSpecific(kind = BrokerAdmin.KIND_BROKER_J)
     public void failOpenOnNonExistingHostname() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             Open responseOpen = interaction.openContainerId("testContainerId")
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/AttachTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/AttachTest.java
index b79fc3a..cac9ecd 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/AttachTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/AttachTest.java
@@ -30,8 +30,6 @@ import static org.hamcrest.Matchers.lessThan;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.type.ErrorCarryingFrameBody;
@@ -58,8 +56,7 @@ public class AttachTest extends BrokerAdminUsingTestBase
             description = "mandatory [...] a non null value for the field is always encoded.")
     public void emptyAttach() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Response<?> response = transport.newInteraction()
                                                   .negotiateOpen()
@@ -87,8 +84,7 @@ public class AttachTest extends BrokerAdminUsingTestBase
     public void successfulAttachAsSender() throws Exception
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Attach responseAttach = transport.newInteraction()
                                                    .negotiateOpen()
@@ -114,8 +110,7 @@ public class AttachTest extends BrokerAdminUsingTestBase
     {
         String queueName = BrokerAdmin.TEST_QUEUE_NAME;
         getBrokerAdmin().createQueue(queueName);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Attach responseAttach = transport.newInteraction()
                                                    .negotiateOpen()
@@ -142,8 +137,7 @@ public class AttachTest extends BrokerAdminUsingTestBase
     {
         String queueName = BrokerAdmin.TEST_QUEUE_NAME;
         getBrokerAdmin().createQueue(queueName);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             final Attach responseAttach = interaction.negotiateOpen()
@@ -184,8 +178,7 @@ public class AttachTest extends BrokerAdminUsingTestBase
     {
         String queueName = "testQueue";
         getBrokerAdmin().createQueue(queueName);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction();
             final Attach responseAttach = interaction.negotiateOpen()
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/FlowTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/FlowTest.java
index 5c62b85..9539324 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/FlowTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/FlowTest.java
@@ -29,8 +29,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.core.Is.is;
 import static org.hamcrest.core.IsNot.not;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.type.ErrorCarryingFrameBody;
@@ -55,14 +53,14 @@ import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class FlowTest extends BrokerAdminUsingTestBase
 {
+
     @Test
     @SpecificationTest(section = "1.3.4",
             description = "mandatory [...] a non null value for the field is always encoded.")
     public void emptyFlow() throws Exception
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Response<?> response = transport.newInteraction()
                                                   .negotiateOpen()
@@ -89,8 +87,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
             description = "If set to true then the receiver SHOULD send its state at the earliest convenient opportunity.")
     public void sessionEchoFlow() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Flow responseFlow = transport.newInteraction()
                                          .negotiateOpen()
@@ -116,8 +113,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
     public void linkEchoFlow() throws Exception
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Flow responseFlow = transport.newInteraction()
                                          .negotiateOpen()
@@ -148,9 +144,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             interaction.negotiateOpen()
@@ -187,8 +181,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
     public void drainEmptyQueue() throws Exception
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Flow responseFlow = transport.newInteraction()
                                          .negotiateOpen()
@@ -218,8 +211,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
                           + " MUST respond by ending the session with an unattached-handle session error.")
     public void flowWithUnknownHandle() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             End responseEnd = transport.newInteraction()
                                        .negotiateOpen()
@@ -249,8 +241,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
     public void synchronousGetWithTimeoutEmptyQueue() throws Exception
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction()
                                                .negotiateOpen()
@@ -303,8 +294,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
         BrokerAdmin brokerAdmin = getBrokerAdmin();
         brokerAdmin.createQueue(BrokerAdmin.TEST_QUEUE_NAME);
 
-        final InetSocketAddress addr = brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction()
                                                .negotiateOpen()
@@ -374,8 +364,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
         final String[] contents = Utils.createTestMessageContents(3, getTestName());
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, contents);
 
-        final InetSocketAddress addr = brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction()
                                                .negotiateOpen()
@@ -426,7 +415,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
             // detach link and consume detach to verify that no transfer was delivered
             interaction.detachClose(true).detach().consume(Detach.class, Flow.class);
         }
-        assertThat(Utils.receiveMessage(addr, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(contents[2])));
+        assertThat(Utils.receiveMessage(brokerAdmin, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(contents[2])));
     }
 
     @Test
@@ -439,9 +428,8 @@ public class FlowTest extends BrokerAdminUsingTestBase
     {
         BrokerAdmin brokerAdmin = getBrokerAdmin();
         brokerAdmin.createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        final InetSocketAddress addr = brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction()
                                                .negotiateOpen()
@@ -506,7 +494,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
             }
             finally
             {
-                assertThat(Utils.receiveMessage(addr, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(message2)));
+                assertThat(Utils.receiveMessage(brokerAdmin, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(message2)));
 
                 interaction.dispositionSettled(true)
                            .dispositionRole(Role.RECEIVER)
@@ -530,8 +518,7 @@ public class FlowTest extends BrokerAdminUsingTestBase
         brokerAdmin.createQueue(BrokerAdmin.TEST_QUEUE_NAME);
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
 
-        final InetSocketAddress addr = brokerAdmin.getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             Interaction interaction = transport.newInteraction()
                                                .negotiateOpen()
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/LinkStealingTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/LinkStealingTest.java
index e4feb26..1ca6fb0 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/LinkStealingTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/LinkStealingTest.java
@@ -27,8 +27,6 @@ import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.lessThan;
 import static org.hamcrest.Matchers.notNullValue;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Ignore;
 import org.junit.Test;
 
@@ -50,6 +48,7 @@ import org.apache.qpid.tests.utils.BrokerSpecific;
 
 public class LinkStealingTest extends BrokerAdminUsingTestBase
 {
+
     @Test
     @SpecificationTest(section = "2.6.1. Naming a link",
                        description = "Consequently, a link can only be active in one connection at a time."
@@ -61,8 +60,7 @@ public class LinkStealingTest extends BrokerAdminUsingTestBase
     @Ignore("QPID-8328: Broker erroneously ends the session with internal error")
     public void subsequentAttachOnTheSameSession() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final Attach responseAttach = interaction
@@ -99,8 +97,7 @@ public class LinkStealingTest extends BrokerAdminUsingTestBase
     public void subsequentAttachOnDifferentSessions() throws Exception
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final String linkName = "test";
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java
index 30c12ff..bc65e3e 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java
@@ -36,7 +36,6 @@ import static org.junit.Assert.fail;
 import static org.junit.Assume.assumeThat;
 import static org.junit.Assume.assumeTrue;
 
-import java.net.InetSocketAddress;
 import java.nio.charset.StandardCharsets;
 import java.util.Collections;
 import java.util.HashMap;
@@ -79,13 +78,11 @@ import org.apache.qpid.tests.utils.ConfigItem;
 public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
 {
     private static final int MIN_MAX_FRAME_SIZE = 512;
-    private InetSocketAddress _brokerAddress;
 
     @Before
     public void setUp()
     {
         getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
-        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
     }
 
     @Ignore("QPID-7845")
@@ -98,7 +95,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
     {
         final String destination = BrokerAdmin.TEST_QUEUE_NAME;
         final Binary deliveryTag = new Binary("testDeliveryTag".getBytes(StandardCharsets.UTF_8));
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
 
             final UnsignedInteger linkHandle1 = UnsignedInteger.ZERO;
@@ -157,7 +154,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
     public void resumeSendingLinkWithIncompleteUnsettled() throws Exception
     {
         final String destination = BrokerAdmin.TEST_QUEUE_NAME;
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
 
@@ -251,7 +248,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
     public void rejectNewDeliveryWhilstUnsettledIncomplete() throws Exception
     {
         final String destination = BrokerAdmin.TEST_QUEUE_NAME;
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
 
@@ -337,15 +334,13 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
             Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName() + "-" + i);
         }
 
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             // 1. open with small max-frame=512, begin, attach receiver with
             //    with rcv-settle-mode=second, snd-settle-mode=unsettled,
             //    flow with incoming-window=MAX_INTEGER and link-credit=MAX_INTEGER
             final Interaction interaction = transport.newInteraction();
-            interaction.consumeResponse()
-                       .openMaxFrameSize(UnsignedInteger.valueOf(MIN_MAX_FRAME_SIZE))
+            interaction.openMaxFrameSize(UnsignedInteger.valueOf(MIN_MAX_FRAME_SIZE))
                        .negotiateOpen()
                        .begin()
                        .consumeResponse(Begin.class)
@@ -454,7 +449,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -505,10 +500,11 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
-                                                     .negotiateOpen()
+                                                     .negotiateOpen(
+                                                                   )
                                                      .begin().consumeResponse()
                                                      .attachRole(Role.RECEIVER)
                                                      .attachSourceAddress(BrokerAdmin.TEST_QUEUE_NAME)
@@ -576,7 +572,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
 
             final String content = getTestName() + "_2";
             Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, content);
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), Matchers.is(Matchers.equalTo(content)));
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), Matchers.is(Matchers.equalTo(content)));
         }
     }
 
@@ -590,7 +586,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
     {
         Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, getTestName());
 
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction()
                                                      .negotiateOpen()
@@ -657,7 +653,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
 
             final String content = getTestName() + "_2";
             Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, content);
-            assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), Matchers.is(Matchers.equalTo(content)));
+            assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), Matchers.is(Matchers.equalTo(content)));
         }
     }
 
@@ -673,7 +669,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase
         final Binary deliveryTag = new Binary("testDeliveryTag".getBytes(StandardCharsets.UTF_8));
 
         QpidByteBuffer[] messagePayload = Utils.splitPayload(getTestName(), 2);
-        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
 
             final UnsignedInteger linkHandle1 = UnsignedInteger.ZERO;
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java
index eea2361..4f9a4d9 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/SaslTest.java
@@ -73,8 +73,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
             description = "SASL Negotiation [...] challenge/response step occurs zero times")
     public void saslSuccessfulAuthentication() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final byte[] saslHeaderResponse = interaction.protocolHeader(SASL_AMQP_HEADER_BYTES)
@@ -109,8 +108,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
                           + " the partner’s connection header or open frame")
     public void saslSuccessfulAuthenticationWithPipelinedFrames() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             final Binary initialResponse =
                     new Binary(String.format("\0%s\0%s", _username, _password).getBytes(StandardCharsets.US_ASCII));
@@ -148,8 +146,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
     public void saslSuccessfulAuthenticationWithChallengeResponse() throws Exception
     {
         assumeThat(getBrokerAdmin().isSASLMechanismSupported(CRAM_MD5.toString()), is(true));
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final byte[] saslHeaderResponse = interaction.protocolHeader(SASL_AMQP_HEADER_BYTES)
@@ -188,8 +185,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "5.3.2", description = "SASL Negotiation")
     public void saslUnsuccessfulAuthentication() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final byte[] saslHeaderResponse = interaction.protocolHeader(SASL_AMQP_HEADER_BYTES)
@@ -219,8 +215,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
                           + "with the authentication-failure close-code.")
     public void unsupportedSaslMechanism() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final byte[] saslHeaderResponse = interaction.protocolHeader(SASL_AMQP_HEADER_BYTES)
@@ -244,8 +239,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "5.3.2", description = "SASL Negotiation")
     public void authenticationBypassDisallowed() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final byte[] saslHeaderResponse = interaction.protocolHeader(SASL_AMQP_HEADER_BYTES)
@@ -266,8 +260,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
                           + "the sasl-mechanisms frame.")
     public void clientSendsSaslMechanisms() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             SaslMechanisms clientMechs = new SaslMechanisms();
             clientMechs.setSaslServerMechanisms(new Symbol[] {Symbol.valueOf("CLIENT-MECH")});
@@ -286,8 +279,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "5.3.2", description = "SASL Negotiation")
     public void clientSendsSaslChallenge() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             SaslChallenge saslChallenge = new SaslChallenge();
             saslChallenge.setChallenge(new Binary(new byte[] {}));
@@ -306,8 +298,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "5.3.2", description = "SASL Negotiation")
     public void clientSendsSaslOutcome() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             SaslOutcome saslOutcome = new SaslOutcome();
             saslOutcome.setCode(SaslCode.OK);
@@ -326,8 +317,7 @@ public class SaslTest extends BrokerAdminUsingTestBase
     @SpecificationTest(section = "5.3.1", description = "Receipt of an empty frame is an irrecoverable error.")
     public void emptyFramesDisallowed() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             transport.newInteraction()
                      .protocolHeader(SASL_AMQP_HEADER_BYTES)
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/extensions/qpid/SaslAuthenticationTimeoutTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/extensions/qpid/SaslAuthenticationTimeoutTest.java
index 2867699..83108a6 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/extensions/qpid/SaslAuthenticationTimeoutTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/security/sasl/extensions/qpid/SaslAuthenticationTimeoutTest.java
@@ -26,7 +26,6 @@ import static org.hamcrest.Matchers.hasItem;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 
@@ -60,8 +59,7 @@ public class SaslAuthenticationTimeoutTest extends BrokerAdminUsingTestBase
     @Test
     public void authenticationTimeout() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.AMQP);
-        try (FrameTransport transport = new FrameTransport(addr, true).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin(), BrokerAdmin.PortType.AMQP).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final byte[] saslHeaderResponse = interaction.protocolHeader(SASL_AMQP_HEADER_BYTES)
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/session/BeginTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/session/BeginTest.java
index 320294a..a5ac540 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/session/BeginTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/session/BeginTest.java
@@ -28,8 +28,6 @@ import static org.hamcrest.Matchers.lessThan;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.junit.Assume.assumeThat;
 
-import java.net.InetSocketAddress;
-
 import org.junit.Test;
 
 import org.apache.qpid.server.protocol.v1_0.type.ErrorCarryingFrameBody;
@@ -46,18 +44,17 @@ import org.apache.qpid.tests.protocol.Response;
 import org.apache.qpid.tests.protocol.SpecificationTest;
 import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
 import org.apache.qpid.tests.protocol.v1_0.Interaction;
-import org.apache.qpid.tests.utils.BrokerAdmin;
 import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
 
 public class BeginTest extends BrokerAdminUsingTestBase
 {
+
     @Test
     @SpecificationTest(section = "1.3.4",
             description = "mandatory [...] a non null value for the field is always encoded.")
     public void emptyBegin() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try(FrameTransport transport = new FrameTransport(addr).connect())
+        try(FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Response<?> response =  transport.newInteraction()
                                            .negotiateOpen()
@@ -82,8 +79,7 @@ public class BeginTest extends BrokerAdminUsingTestBase
                           + "and sending a begin announcing the association of the session endpoint with the outgoing channel.")
     public void successfulBegin() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final UnsignedShort channel = UnsignedShort.valueOf(37);
             Interaction interaction = transport.newInteraction();
@@ -109,8 +105,7 @@ public class BeginTest extends BrokerAdminUsingTestBase
                           + "the connection with the framing-error error-code..")
     public void channelMax() throws Exception
     {
-        final InetSocketAddress addr = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
-        try (FrameTransport transport = new FrameTransport(addr).connect())
+        try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect())
         {
             final Interaction interaction = transport.newInteraction();
             final int ourChannelMax = 5;
diff --git a/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java b/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
index 0ce90ac..a70c3c9 100644
--- a/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
+++ b/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
@@ -252,6 +252,12 @@ public class SpawnBrokerAdmin implements BrokerAdmin, Closeable
     }
 
     @Override
+    public boolean isAnonymousSupported()
+    {
+        return true;
+    }
+
+    @Override
     public boolean isSASLSupported()
     {
         return true;
diff --git a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/BrokerAdmin.java b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/BrokerAdmin.java
index b8acf34..e9695de 100644
--- a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/BrokerAdmin.java
+++ b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/BrokerAdmin.java
@@ -48,6 +48,7 @@ public interface BrokerAdmin extends Pluggable
     boolean supportsRestart();
     ListenableFuture<Void> restart();
 
+    boolean isAnonymousSupported();
     boolean isSASLSupported();
     boolean isSASLMechanismSupported(String mechanismName);
     boolean isWebSocketSupported();
diff --git a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
index 59cf731..03d997f 100644
--- a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
+++ b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
@@ -361,6 +361,12 @@ public class EmbeddedBrokerPerClassAdminImpl implements BrokerAdmin
     }
 
     @Override
+    public boolean isAnonymousSupported()
+    {
+        return true;
+    }
+
+    @Override
     public boolean isSASLSupported()
     {
         return true;
diff --git a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/ExternalQpidBrokerAdminImpl.java b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/ExternalQpidBrokerAdminImpl.java
index e125c21..17f1890 100644
--- a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/ExternalQpidBrokerAdminImpl.java
+++ b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/ExternalQpidBrokerAdminImpl.java
@@ -139,6 +139,12 @@ public class ExternalQpidBrokerAdminImpl implements BrokerAdmin
     }
 
     @Override
+    public boolean isAnonymousSupported()
+    {
+        return Boolean.parseBoolean(System.getProperty("qpid.tests.protocol.broker.external.anonymousSupported", "true"));
+    }
+
+    @Override
     public boolean isSASLSupported()
     {
         return Boolean.parseBoolean(System.getProperty("qpid.tests.protocol.broker.external.saslSupported", "true"));
@@ -165,8 +171,10 @@ public class ExternalQpidBrokerAdminImpl implements BrokerAdmin
     @Override
     public boolean isSASLMechanismSupported(final String mechanismName)
     {
-        String supportedSaslMechanisms = System.getProperty("qpid.tests.protocol.broker.external.supportedSaslMechanisms","PLAIN,CRAM-MD5");
-        return Arrays.asList(supportedSaslMechanisms.split(",")).contains(mechanismName);
+        final String supportedSaslMechanisms = System.getProperty(
+                "qpid.tests.protocol.broker.external.supportedSaslMechanisms",
+                "PLAIN,CRAM-MD5").toUpperCase();
+        return Arrays.asList(supportedSaslMechanisms.split(",")).contains(mechanismName.toUpperCase());
     }
 
     @Override
diff --git a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/LoggingBrokerAdminDecorator.java b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/LoggingBrokerAdminDecorator.java
index 6674e3e..7cbe2cb 100644
--- a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/LoggingBrokerAdminDecorator.java
+++ b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/LoggingBrokerAdminDecorator.java
@@ -127,6 +127,12 @@ public class LoggingBrokerAdminDecorator implements BrokerAdmin
     }
 
     @Override
+    public boolean isAnonymousSupported()
+    {
+        return _delegate.isAnonymousSupported();
+    }
+
+    @Override
     public boolean isSASLSupported()
     {
         return _delegate.isSASLSupported();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org