diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/qpid/client/amqp0_10/AddressResolution.cpp | 35 | ||||
-rw-r--r-- | cpp/src/tests/MessagingSessionTests.cpp | 7 |
2 files changed, 25 insertions, 17 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp b/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp index 8289242f09..146d34932a 100644 --- a/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp +++ b/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp @@ -72,7 +72,6 @@ class Verifier }; namespace{ -const Verifier verifier; const Variant EMPTY_VARIANT; const FieldTable EMPTY_FIELD_TABLE; const Variant::List EMPTY_LIST; @@ -129,6 +128,8 @@ const std::string DIRECT_EXCHANGE("direct"); const std::string HEADERS_EXCHANGE("headers"); const std::string XML_EXCHANGE("xml"); const std::string WILDCARD_ANY("*"); + +const Verifier verifier; } struct Binding @@ -922,24 +923,24 @@ std::vector<std::string> Node::SENDER_MODES = list_of<std::string>(ALWAYS) (SEND Verifier::Verifier() { - defined["create"] = true; - defined["assert"] = true; - defined["delete"] = true; - defined["mode"] = true; + defined[CREATE] = true; + defined[ASSERT] = true; + defined[DELETE] = true; + defined[MODE] = true; Variant::Map node; - node["type"] = true; - node["durable"] = true; - node["x-declare"] = true; - node["x-bindings"] = true; - defined["node"] = node; + node[TYPE] = true; + node[DURABLE] = true; + node[X_DECLARE] = true; + node[X_BINDINGS] = true; + defined[NODE] = node; Variant::Map link; - link["name"] = true; - link["durable"] = true; - link["reliable"] = true; - link["x-subscribe"] = true; - link["x-declare"] = true; - link["x-bindings"] = true; - defined["link"] = link; + link[NAME] = true; + link[DURABLE] = true; + link[RELIABILITY] = true; + link[X_SUBSCRIBE] = true; + link[X_DECLARE] = true; + link[X_BINDINGS] = true; + defined[LINK] = link; } void Verifier::verify(const Address& address) const { diff --git a/cpp/src/tests/MessagingSessionTests.cpp b/cpp/src/tests/MessagingSessionTests.cpp index d134793b82..e1b2a35213 100644 --- a/cpp/src/tests/MessagingSessionTests.cpp +++ b/cpp/src/tests/MessagingSessionTests.cpp @@ -872,6 +872,13 @@ QPID_AUTO_TEST_CASE(testRelease) fix.session.acknowledge(true); } +QPID_AUTO_TEST_CASE(testOptionVerification) +{ + MessagingFixture fix; + fix.session.createReceiver("my-queue; {create: always, assert: always, delete: always, node: {type: queue, durable: false, x-declare: {arguments: {a: b}}, x-bindings: [{exchange: amq.fanout}]}, link: {name: abc, durable: false, reliability: exactly-once, x-subscribe: {arguments:{a:b}}, x-bindings:[{exchange: amq.fanout}]}, mode: browse}"); + BOOST_CHECK_THROW(fix.session.createReceiver("my-queue; {invalid-option:blah}"), qpid::messaging::AddressError); +} + QPID_AUTO_TEST_SUITE_END() }} // namespace qpid::tests |