diff options
| author | Alan Conway <aconway@apache.org> | 2010-05-11 14:39:58 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-05-11 14:39:58 +0000 |
| commit | 16da0e0c511c0c1cf4ea592640c522754065200a (patch) | |
| tree | 59fb80994db731fabe19897c95a6912e68716360 /cpp/src/tests/Url.cpp | |
| parent | be8e1bf6b6a0d760bddbbe6642d477a95f36ab42 (diff) | |
| download | qpid-python-16da0e0c511c0c1cf4ea592640c522754065200a.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/qpid@943130 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/Url.cpp')
| -rw-r--r-- | cpp/src/tests/Url.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/cpp/src/tests/Url.cpp b/cpp/src/tests/Url.cpp index cd5169a21d..df1852dd1d 100644 --- a/cpp/src/tests/Url.cpp +++ b/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 |
