diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-12-22 19:18:05 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-12-22 19:20:12 -0800 |
| commit | d00483eadbee48b820a8a79163c5296953b6f5cb (patch) | |
| tree | 2124acb66086e03ae2d1c913910cb96496d91bcc | |
| parent | f94a25d6fa2f75a7e4d64ac1f998c4c0f459c00a (diff) | |
| download | nng-d00483eadbee48b820a8a79163c5296953b6f5cb.tar.gz nng-d00483eadbee48b820a8a79163c5296953b6f5cb.tar.bz2 nng-d00483eadbee48b820a8a79163c5296953b6f5cb.zip | |
Add some wild card validation tests for URLs.
These tests are intended to demonstrate that we are not affected
by the bug described in #821.
| -rw-r--r-- | tests/url.c | 14 | ||||
| -rw-r--r-- | tests/ws.c | 19 |
2 files changed, 33 insertions, 0 deletions
diff --git a/tests/url.c b/tests/url.c index 15eb5d78..9b44dda4 100644 --- a/tests/url.c +++ b/tests/url.c @@ -223,6 +223,20 @@ TestMain("URLs", { nng_url_free(url); }); + Convey("ws://*:12345/foobar", { + So(nng_url_parse(&url, "ws://*:12345/foobar") == 0); + So(url != NULL); + So(strcmp(url->u_scheme, "ws") == 0); + So(strcmp(url->u_host, ":12345") == 0); + So(strcmp(url->u_hostname, "") == 0); + So(strcmp(url->u_path, "/foobar") == 0); + So(strcmp(url->u_port, "12345") == 0); + So(url->u_query == NULL); + So(url->u_fragment == NULL); + So(url->u_userinfo == NULL); + nng_url_free(url); + }); + Convey("ssh://user@host.example.com", { So(nng_url_parse(&url, "ssh://user@host.example.com") == 0); So(url != NULL); @@ -103,6 +103,25 @@ TestMain("WebSocket Transport", { So(nng_dial(s2, addr, NULL, 0) == 0); }); + Convey("Wild card hostname works", { + nng_socket s1; + nng_socket s2; + char addr[NNG_MAXADDRLEN]; + + So(nng_pair_open(&s1) == 0); + So(nng_pair_open(&s2) == 0); + Reset({ + nng_close(s2); + nng_close(s1); + }); + trantest_next_address(addr, "ws://*:%u/test"); + So(nng_listen(s1, addr, NULL, 0) == 0); + nng_msleep(100); + // reset port back one + trantest_prev_address(addr, "ws://127.0.0.1:%u/test"); + So(nng_dial(s2, addr, NULL, 0) == 0); + }); + Convey("Incorrect URL paths do not work", { nng_socket s1; nng_socket s2; |
