aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaavard <havardpe@yahoo-inc.com>2017-06-16 13:27:44 +0000
committerHaavard <havardpe@yahoo-inc.com>2017-06-16 13:27:44 +0000
commit466a87693515e9f03677b9780b3434f3d79367d0 (patch)
treef02ff4560cdeecc5a2158c3ddf53a121372c7d4a
parent5796a9ebaf520bc794619a18fcdc5a53add19086 (diff)
add unit test for replace_host
-rw-r--r--vespalib/src/tests/net/socket_spec/socket_spec_test.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/vespalib/src/tests/net/socket_spec/socket_spec_test.cpp b/vespalib/src/tests/net/socket_spec/socket_spec_test.cpp
index 8e2e2f0e8b7..0c2b92bbb53 100644
--- a/vespalib/src/tests/net/socket_spec/socket_spec_test.cpp
+++ b/vespalib/src/tests/net/socket_spec/socket_spec_test.cpp
@@ -107,4 +107,20 @@ TEST("require that port-only spec resolves to non-wildcard client address") {
EXPECT_TRUE(!SocketSpec("tcp/123").client_address().is_wildcard());
}
+TEST("require that replace_host makes new spec with replaced host") {
+ SocketSpec old_spec("tcp/host:123");
+ const SocketSpec &const_spec = old_spec;
+ SocketSpec new_spec = const_spec.replace_host("foo");
+ TEST_DO(verify_host_port(old_spec, "host", 123));
+ TEST_DO(verify_host_port(new_spec, "foo", 123));
+}
+
+TEST("require that replace_host gives invalid spec when used with less than 2 host names") {
+ TEST_DO(verify_invalid(SocketSpec("bogus").replace_host("foo")));
+ TEST_DO(verify_invalid(SocketSpec("tcp/123").replace_host("foo")));
+ TEST_DO(verify_invalid(SocketSpec("tcp/host:123").replace_host("")));
+ TEST_DO(verify_invalid(SocketSpec("ipc/file:my_socket").replace_host("foo")));
+ TEST_DO(verify_invalid(SocketSpec("ipc/name:my_socket").replace_host("foo")));
+}
+
TEST_MAIN() { TEST_RUN_ALL(); }