summaryrefslogtreecommitdiff
path: root/cpp/src/tests/BrokerFixture.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/tests/BrokerFixture.h')
-rw-r--r--cpp/src/tests/BrokerFixture.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/tests/BrokerFixture.h b/cpp/src/tests/BrokerFixture.h
index 205b4d90ef..f55560739d 100644
--- a/cpp/src/tests/BrokerFixture.h
+++ b/cpp/src/tests/BrokerFixture.h
@@ -88,6 +88,7 @@ struct BrokerFixture : private boost::noncopyable {
/** Connection that opens in its constructor */
struct LocalConnection : public qpid::client::Connection {
LocalConnection(uint16_t port) { open("localhost", port); }
+ LocalConnection(const qpid::client::ConnectionSettings& s) { open(s); }
};
/** A local client connection via a socket proxy. */
@@ -96,6 +97,11 @@ struct ProxyConnection : public qpid::client::Connection {
ProxyConnection(int brokerPort) : proxy(brokerPort) {
open("localhost", proxy.getPort());
}
+ ProxyConnection(const qpid::client::ConnectionSettings& s) : proxy(s.port) {
+ qpid::client::ConnectionSettings proxySettings(s);
+ proxySettings.port = proxy.getPort();
+ open(proxySettings);
+ }
~ProxyConnection() { close(); }
};
@@ -110,6 +116,8 @@ struct ClientT {
qpid::client::LocalQueue lq;
ClientT(uint16_t port, const std::string& name=std::string())
: connection(port), session(connection.newSession(name)), subs(session) {}
+ ClientT(const qpid::client::ConnectionSettings& settings, const std::string& name=std::string())
+ : connection(settings), session(connection.newSession(name)), subs(session) {}
~ClientT() { connection.close(); }
};