summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Steinert <mike.steinert@gmail.com>2012-05-24 19:14:45 -0600
committerAlan Antonuk <alan.antonuk@gmail.com>2013-04-09 15:29:58 -0700
commit07751706f51a2bfe029d9fd9c41f153695526774 (patch)
tree13976207dffcf784d18f1910eaeea4dbf66519b1 /tests
parent06bf34769c8118c11aa5fc6a5093a85fba6a1c23 (diff)
downloadrabbitmq-c-github-ask-07751706f51a2bfe029d9fd9c41f153695526774.tar.gz
Add amqps:// support to the URL parser
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/test_parse_url.c111
1 files changed, 96 insertions, 15 deletions
diff --git a/tests/test_parse_url.c b/tests/test_parse_url.c
index b816cd8..241cf8c 100644
--- a/tests/test_parse_url.c
+++ b/tests/test_parse_url.c
@@ -111,62 +111,143 @@ int main(void)
{
/* From the spec */
parse_success("amqp://user:pass@host:10000/vhost", "user", "pass",
- "host", 10000, "vhost");
+ "host", 10000, "vhost");
+ parse_success("amqps://user:pass@host:10000/vhost", "user", "pass",
+ "host", 10000, "vhost");
+
parse_success("amqp://user%61:%61pass@ho%61st:10000/v%2fhost",
- "usera", "apass", "hoast", 10000, "v/host");
+ "usera", "apass", "hoast", 10000, "v/host");
+ parse_success("amqps://user%61:%61pass@ho%61st:10000/v%2fhost",
+ "usera", "apass", "hoast", 10000, "v/host");
+
parse_success("amqp://", "guest", "guest", "localhost", 5672, "/");
+ parse_success("amqps://", "guest", "guest", "localhost", 5671, "/");
+
parse_success("amqp://:@/", "", "", "localhost", 5672, "");
+ parse_success("amqps://:@/", "", "", "localhost", 5671, "");
+
parse_success("amqp://user@", "user", "guest", "localhost", 5672, "/");
+ parse_success("amqps://user@", "user", "guest", "localhost", 5671, "/");
+
parse_success("amqp://user:pass@", "user", "pass",
- "localhost", 5672, "/");
+ "localhost", 5672, "/");
+ parse_success("amqps://user:pass@", "user", "pass",
+ "localhost", 5671, "/");
+
parse_success("amqp://host", "guest", "guest", "host", 5672, "/");
+ parse_success("amqps://host", "guest", "guest", "host", 5671, "/");
+
parse_success("amqp://:10000", "guest", "guest", "localhost", 10000,
- "/");
+ "/");
+ parse_success("amqps://:10000", "guest", "guest", "localhost", 10000,
+ "/");
+
parse_success("amqp:///vhost", "guest", "guest", "localhost", 5672,
- "vhost");
+ "vhost");
+ parse_success("amqps:///vhost", "guest", "guest", "localhost", 5671,
+ "vhost");
+
parse_success("amqp://host/", "guest", "guest", "host", 5672, "");
+ parse_success("amqps://host/", "guest", "guest", "host", 5671, "");
+
parse_success("amqp://host/%2f", "guest", "guest", "host", 5672, "/");
+ parse_success("amqps://host/%2f", "guest", "guest", "host", 5671, "/");
+
parse_success("amqp://[::1]", "guest", "guest", "::1", 5672, "/");
+ parse_success("amqps://[::1]", "guest", "guest", "::1", 5671, "/");
/* Various other success cases */
parse_success("amqp://host:100", "guest", "guest", "host", 100, "/");
+ parse_success("amqps://host:100", "guest", "guest", "host", 100, "/");
+
parse_success("amqp://[::1]:100", "guest", "guest", "::1", 100, "/");
+ parse_success("amqps://[::1]:100", "guest", "guest", "::1", 100, "/");
parse_success("amqp://host/blah", "guest", "guest",
- "host", 5672, "blah");
+ "host", 5672, "blah");
+ parse_success("amqps://host/blah", "guest", "guest",
+ "host", 5671, "blah");
+
parse_success("amqp://host:100/blah", "guest", "guest",
- "host", 100, "blah");
+ "host", 100, "blah");
+ parse_success("amqps://host:100/blah", "guest", "guest",
+ "host", 100, "blah");
+
parse_success("amqp://:100/blah", "guest", "guest",
- "localhost", 100, "blah");
+ "localhost", 100, "blah");
+ parse_success("amqps://:100/blah", "guest", "guest",
+ "localhost", 100, "blah");
+
parse_success("amqp://[::1]/blah", "guest", "guest",
- "::1", 5672, "blah");
+ "::1", 5672, "blah");
+ parse_success("amqps://[::1]/blah", "guest", "guest",
+ "::1", 5671, "blah");
+
parse_success("amqp://[::1]:100/blah", "guest", "guest",
- "::1", 100, "blah");
+ "::1", 100, "blah");
+ parse_success("amqps://[::1]:100/blah", "guest", "guest",
+ "::1", 100, "blah");
parse_success("amqp://user:pass@host", "user", "pass",
- "host", 5672, "/");
+ "host", 5672, "/");
+ parse_success("amqps://user:pass@host", "user", "pass",
+ "host", 5671, "/");
+
parse_success("amqp://user:pass@host:100", "user", "pass",
- "host", 100, "/");
+ "host", 100, "/");
+ parse_success("amqps://user:pass@host:100", "user", "pass",
+ "host", 100, "/");
+
parse_success("amqp://user:pass@:100", "user", "pass",
- "localhost", 100, "/");
+ "localhost", 100, "/");
+ parse_success("amqps://user:pass@:100", "user", "pass",
+ "localhost", 100, "/");
+
parse_success("amqp://user:pass@[::1]", "user", "pass",
- "::1", 5672, "/");
+ "::1", 5672, "/");
+ parse_success("amqps://user:pass@[::1]", "user", "pass",
+ "::1", 5671, "/");
+
parse_success("amqp://user:pass@[::1]:100", "user", "pass",
- "::1", 100, "/");
+ "::1", 100, "/");
+ parse_success("amqps://user:pass@[::1]:100", "user", "pass",
+ "::1", 100, "/");
/* Various failure cases */
parse_fail("http://www.rabbitmq.com");
+
parse_fail("amqp://foo:bar:baz");
+ parse_fail("amqps://foo:bar:baz");
+
+ parse_fail("amqp://foo[::1]");
+ parse_fail("amqps://foo[::1]");
+
parse_fail("amqp://foo[::1]");
+ parse_fail("amqps://foo[::1]");
+
parse_fail("amqp://foo:[::1]");
+ parse_fail("amqps://foo:[::1]");
+
parse_fail("amqp://[::1]foo");
+ parse_fail("amqps://[::1]foo");
+
parse_fail("amqp://foo:1000xyz");
+ parse_fail("amqps://foo:1000xyz");
+
parse_fail("amqp://foo:1000000");
+ parse_fail("amqps://foo:1000000");
+
parse_fail("amqp://foo/bar/baz");
+ parse_fail("amqps://foo/bar/baz");
parse_fail("amqp://foo%1");
+ parse_fail("amqps://foo%1");
+
parse_fail("amqp://foo%1x");
+ parse_fail("amqps://foo%1x");
+
parse_fail("amqp://foo%xy");
+ parse_fail("amqps://foo%xy");
return 0;
}