summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/Url.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-05-11 14:39:58 +0000
committerAlan Conway <aconway@apache.org>2010-05-11 14:39:58 +0000
commitf3e8a605653ebb9ff310d0982e58721168a72fc5 (patch)
treed13ae5486e1c4c97e13f78fcd9a4204cd7102309 /qpid/cpp/src/tests/Url.cpp
parent2b02dfc5293b55a3644d0d241ec1a7c6774f0dd5 (diff)
downloadqpid-python-f3e8a605653ebb9ff310d0982e58721168a72fc5.tar.gz
Support for multiple protocols in qpid::Url.
- simplified qpid::Address to hold (protocol,host,port) triples. - protocol plugins call Url:addProtocol to add tags to Url parser. - use Address::protocol when establishing connections. - ssl_test: tests using URL to connect. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@943130 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/Url.cpp')
-rw-r--r--qpid/cpp/src/tests/Url.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/qpid/cpp/src/tests/Url.cpp b/qpid/cpp/src/tests/Url.cpp
index cd5169a21d..df1852dd1d 100644
--- a/qpid/cpp/src/tests/Url.cpp
+++ b/qpid/cpp/src/tests/Url.cpp
@@ -37,38 +37,37 @@ QPID_AUTO_TEST_SUITE(UrlTestSuite)
QPID_AUTO_TEST_CASE(TestParseTcp) {
URL_CHECK_STR("amqp:tcp:host:42");
URL_CHECK_STR("amqp:tcp:host-._~%ff%23:42"); // unreserved chars and pct encoded hex.
-
// Check defaults
BOOST_CHECK_EQUAL(Url("amqp:host:42").str(), "amqp:tcp:host:42");
BOOST_CHECK_EQUAL(Url("amqp:tcp:host").str(), "amqp:tcp:host:5672");
+ BOOST_CHECK_EQUAL(Url("host").str(), "amqp:tcp:host:5672");
+}
+QPID_AUTO_TEST_CASE(TestParseInvalid) {
//host is required:
URL_CHECK_INVALID("amqp:tcp:");
URL_CHECK_INVALID("amqp:");
URL_CHECK_INVALID("amqp::42");
+ URL_CHECK_INVALID("");
- URL_CHECK_INVALID("amqp::badHost!#$#");
- URL_CHECK_INVALID("amqp::host:badPort");
+ // Port must be numeric
+ URL_CHECK_INVALID("host:badPort");
}
-QPID_AUTO_TEST_CASE(TestParseExample) {
- URL_CHECK_STR("amqp:example:x");
- URL_CHECK_INVALID("amqp:example:badExample");
+QPID_AUTO_TEST_CASE(TestParseXyz) {
+ Url::addProtocol("xyz");
+ URL_CHECK_STR("amqp:xyz:host:123");
+ BOOST_CHECK_EQUAL(Url("xyz:host").str(), "amqp:xyz:host:5672");
}
QPID_AUTO_TEST_CASE(TestParseMultiAddress) {
- URL_CHECK_STR("amqp:tcp:host:0,example:y,tcp:foo:0,example:1");
- URL_CHECK_STR("amqp:example:z,tcp:foo:0");
+ Url::addProtocol("xyz");
+ URL_CHECK_STR("amqp:tcp:host:0,xyz:foo:123,tcp:foo:0,xyz:bar:1");
+ URL_CHECK_STR("amqp:xyz:foo:222,tcp:foo:0");
URL_CHECK_INVALID("amqp:tcp:h:0,");
URL_CHECK_INVALID(",amqp:tcp:h");
}
-
-QPID_AUTO_TEST_CASE(TestInvalidAddress) {
- URL_CHECK_INVALID("xxxx");
- URL_CHECK_INVALID("");
-}
-
QPID_AUTO_TEST_SUITE_END()
}} // namespace qpid::tests