From 779c5d6eb0d81210e92cc4dc264831361b972a63 Mon Sep 17 00:00:00 2001 From: Sean Chittenden Date: Wed, 1 Jun 2016 01:35:56 -0700 Subject: [PATCH] Add a quick set of client/rpcproxy.ServerEndpoint equality tests --- .../rpcproxy/server_endpoint_internal_test.go | 38 +++++++++ client/rpcproxy/server_endpoint_test.go | 79 +++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 client/rpcproxy/server_endpoint_internal_test.go create mode 100644 client/rpcproxy/server_endpoint_test.go diff --git a/client/rpcproxy/server_endpoint_internal_test.go b/client/rpcproxy/server_endpoint_internal_test.go new file mode 100644 index 00000000000..a4e1e9f16da --- /dev/null +++ b/client/rpcproxy/server_endpoint_internal_test.go @@ -0,0 +1,38 @@ +package rpcproxy + +import ( + "testing" +) + +// func (k *EndpointKey) Equal(x *EndpointKey) { +func TestServerEndpointKey_Equal(t *testing.T) { + tests := []struct { + name string + k1 *EndpointKey + k2 *EndpointKey + equal bool + }{ + { + name: "equal", + k1: &EndpointKey{name: "k1"}, + k2: &EndpointKey{name: "k1"}, + equal: true, + }, + { + name: "not equal", + k1: &EndpointKey{name: "k1"}, + k2: &EndpointKey{name: "k2"}, + equal: false, + }, + } + + for _, test := range tests { + if test.k1.Equal(test.k2) != test.equal { + t.Errorf("fixture %s failed forward comparison", test.name) + } + + if test.k2.Equal(test.k1) != test.equal { + t.Errorf("fixture %s failed reverse comparison", test.name) + } + } +} diff --git a/client/rpcproxy/server_endpoint_test.go b/client/rpcproxy/server_endpoint_test.go new file mode 100644 index 00000000000..8b964313ef0 --- /dev/null +++ b/client/rpcproxy/server_endpoint_test.go @@ -0,0 +1,79 @@ +package rpcproxy_test + +import ( + "fmt" + "net" + "testing" + + "github.com/hashicorp/nomad/client/rpcproxy" +) + +// func (k *rpcproxy.EndpointKey) Equal(x *rpcproxy.EndpointKey) { +func TestServerEndpointKey_Equal(t *testing.T) { + tests := []struct { + name string + s1 *rpcproxy.ServerEndpoint + s2 *rpcproxy.ServerEndpoint + equal bool + }{ + { + name: "equal", + s1: &rpcproxy.ServerEndpoint{Name: "k1"}, + s2: &rpcproxy.ServerEndpoint{Name: "k1"}, + equal: true, + }, + { + name: "not equal", + s1: &rpcproxy.ServerEndpoint{Name: "k1"}, + s2: &rpcproxy.ServerEndpoint{Name: "k2"}, + equal: false, + }, + } + + for _, test := range tests { + if test.s1.Key().Equal(test.s2.Key()) != test.equal { + t.Errorf("fixture %s failed forward comparison", test.name) + } + + if test.s2.Key().Equal(test.s1.Key()) != test.equal { + t.Errorf("fixture %s failed reverse comparison", test.name) + } + } +} + +// func (k *rpcproxy.ServerEndpoint) String() { +func TestServerEndpoint_String(t *testing.T) { + tests := []struct { + name string + s *rpcproxy.ServerEndpoint + str string + }{ + { + name: "name", + s: &rpcproxy.ServerEndpoint{Name: "s"}, + str: "s (:)", + }, + { + name: "name, host, port", + s: &rpcproxy.ServerEndpoint{ + Name: "s", + Host: "127.0.0.1", + Port: "4647", + }, + str: "s (tcp:127.0.0.1:4647)", + }, + } + + for _, test := range tests { + if test.s.Addr == nil && (test.s.Host != "" && test.s.Port != "") { + fmt.Printf("Setting addr\n") + addr, err := net.ResolveTCPAddr("tcp", net.JoinHostPort(test.s.Host, test.s.Port)) + if err == nil { + test.s.Addr = addr + } + } + if test.s.String() != test.str { + t.Errorf("fixture %q failed: %q vs %q", test.name, test.s.String(), test.str) + } + } +}