diff options
Diffstat (limited to 'tests/test_parse_url.c')
-rw-r--r-- | tests/test_parse_url.c | 214 |
1 files changed, 107 insertions, 107 deletions
diff --git a/tests/test_parse_url.c b/tests/test_parse_url.c index 2e7d1c7..585514d 100644 --- a/tests/test_parse_url.c +++ b/tests/test_parse_url.c @@ -43,127 +43,127 @@ static void match_string(const char *what, const char *expect, const char *got) { - if (strcmp(got, expect)) { - fprintf(stderr, "Expected %s '%s', got '%s'\n", - what, expect, got); - abort(); - } + if (strcmp(got, expect)) { + fprintf(stderr, "Expected %s '%s', got '%s'\n", + what, expect, got); + abort(); + } } static void match_int(const char *what, int expect, int got) { - if (got != expect) { - fprintf(stderr, "Expected %s '%d', got '%d'\n", - what, expect, got); - abort(); - } + if (got != expect) { + fprintf(stderr, "Expected %s '%d', got '%d'\n", + what, expect, got); + abort(); + } } static void parse_success(const char *url, - const char *user, - const char *password, - const char *host, - int port, - const char *vhost) + const char *user, + const char *password, + const char *host, + int port, + const char *vhost) { - char *s = strdup(url); - struct amqp_connection_info ci; - int res; - - amqp_default_connection_info(&ci); - res = amqp_parse_url(s, &ci); - if (res) { - fprintf(stderr, - "Expected to successfully parse URL, but didn't: %s (%s)\n", - url, amqp_error_string(-res)); - abort(); - } - - match_string("user", user, ci.user); - match_string("password", password, ci.password); - match_string("host", host, ci.host); - match_int("port", port, ci.port); - match_string("vhost", vhost, ci.vhost); - - free(s); + char *s = strdup(url); + struct amqp_connection_info ci; + int res; + + amqp_default_connection_info(&ci); + res = amqp_parse_url(s, &ci); + if (res) { + fprintf(stderr, + "Expected to successfully parse URL, but didn't: %s (%s)\n", + url, amqp_error_string(-res)); + abort(); + } + + match_string("user", user, ci.user); + match_string("password", password, ci.password); + match_string("host", host, ci.host); + match_int("port", port, ci.port); + match_string("vhost", vhost, ci.vhost); + + free(s); } static void parse_fail(const char *url) { - char *s = strdup(url); - struct amqp_connection_info ci; - - amqp_default_connection_info(&ci); - if (amqp_parse_url(s, &ci) >= 0) { - fprintf(stderr, - "Expected to fail parsing URL, but didn't: %s\n", - url); - abort(); - } - - free(s); + char *s = strdup(url); + struct amqp_connection_info ci; + + amqp_default_connection_info(&ci); + if (amqp_parse_url(s, &ci) >= 0) { + fprintf(stderr, + "Expected to fail parsing URL, but didn't: %s\n", + url); + abort(); + } + + free(s); } int main(void) { - /* From the spec */ - parse_success("amqp://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"); - parse_success("amqp://", "guest", "guest", "localhost", 5672, "/"); - parse_success("amqp://:@/", "", "", "localhost", 5672, ""); - parse_success("amqp://user@", "user", "guest", "localhost", 5672, "/"); - parse_success("amqp://user:pass@", "user", "pass", - "localhost", 5672, "/"); - parse_success("amqp://host", "guest", "guest", "host", 5672, "/"); - parse_success("amqp://:10000", "guest", "guest", "localhost", 10000, - "/"); - parse_success("amqp:///vhost", "guest", "guest", "localhost", 5672, - "vhost"); - parse_success("amqp://host/", "guest", "guest", "host", 5672, ""); - parse_success("amqp://host/%2f", "guest", "guest", "host", 5672, "/"); - parse_success("amqp://[::1]", "guest", "guest", "::1", 5672, "/"); - - /* Various other success cases */ - parse_success("amqp://host:100", "guest", "guest", "host", 100, "/"); - parse_success("amqp://[::1]:100", "guest", "guest", "::1", 100, "/"); - - parse_success("amqp://host/blah", "guest", "guest", - "host", 5672, "blah"); - parse_success("amqp://host:100/blah", "guest", "guest", - "host", 100, "blah"); - parse_success("amqp://:100/blah", "guest", "guest", - "localhost", 100, "blah"); - parse_success("amqp://[::1]/blah", "guest", "guest", - "::1", 5672, "blah"); - parse_success("amqp://[::1]:100/blah", "guest", "guest", - "::1", 100, "blah"); - - parse_success("amqp://user:pass@host", "user", "pass", - "host", 5672, "/"); - parse_success("amqp://user:pass@host:100", "user", "pass", - "host", 100, "/"); - parse_success("amqp://user:pass@:100", "user", "pass", - "localhost", 100, "/"); - parse_success("amqp://user:pass@[::1]", "user", "pass", - "::1", 5672, "/"); - parse_success("amqp://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("amqp://foo[::1]"); - parse_fail("amqp://foo:[::1]"); - parse_fail("amqp://[::1]foo"); - parse_fail("amqp://foo:1000xyz"); - parse_fail("amqp://foo:1000000"); - parse_fail("amqp://foo/bar/baz"); - - parse_fail("amqp://foo%1"); - parse_fail("amqp://foo%1x"); - parse_fail("amqp://foo%xy"); - - return 0; + /* From the spec */ + parse_success("amqp://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"); + parse_success("amqp://", "guest", "guest", "localhost", 5672, "/"); + parse_success("amqp://:@/", "", "", "localhost", 5672, ""); + parse_success("amqp://user@", "user", "guest", "localhost", 5672, "/"); + parse_success("amqp://user:pass@", "user", "pass", + "localhost", 5672, "/"); + parse_success("amqp://host", "guest", "guest", "host", 5672, "/"); + parse_success("amqp://:10000", "guest", "guest", "localhost", 10000, + "/"); + parse_success("amqp:///vhost", "guest", "guest", "localhost", 5672, + "vhost"); + parse_success("amqp://host/", "guest", "guest", "host", 5672, ""); + parse_success("amqp://host/%2f", "guest", "guest", "host", 5672, "/"); + parse_success("amqp://[::1]", "guest", "guest", "::1", 5672, "/"); + + /* Various other success cases */ + parse_success("amqp://host:100", "guest", "guest", "host", 100, "/"); + parse_success("amqp://[::1]:100", "guest", "guest", "::1", 100, "/"); + + parse_success("amqp://host/blah", "guest", "guest", + "host", 5672, "blah"); + parse_success("amqp://host:100/blah", "guest", "guest", + "host", 100, "blah"); + parse_success("amqp://:100/blah", "guest", "guest", + "localhost", 100, "blah"); + parse_success("amqp://[::1]/blah", "guest", "guest", + "::1", 5672, "blah"); + parse_success("amqp://[::1]:100/blah", "guest", "guest", + "::1", 100, "blah"); + + parse_success("amqp://user:pass@host", "user", "pass", + "host", 5672, "/"); + parse_success("amqp://user:pass@host:100", "user", "pass", + "host", 100, "/"); + parse_success("amqp://user:pass@:100", "user", "pass", + "localhost", 100, "/"); + parse_success("amqp://user:pass@[::1]", "user", "pass", + "::1", 5672, "/"); + parse_success("amqp://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("amqp://foo[::1]"); + parse_fail("amqp://foo:[::1]"); + parse_fail("amqp://[::1]foo"); + parse_fail("amqp://foo:1000xyz"); + parse_fail("amqp://foo:1000000"); + parse_fail("amqp://foo/bar/baz"); + + parse_fail("amqp://foo%1"); + parse_fail("amqp://foo%1x"); + parse_fail("amqp://foo%xy"); + + return 0; } |