diff options
author | Christopher Speller <crspeller@gmail.com> | 2017-07-20 15:22:49 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-20 15:22:49 -0700 |
commit | 58839cefb50e56ae5b157b37e9814ae83ceee70b (patch) | |
tree | 5de966481678096fc9567f74f96673b34a65127c /vendor/github.com/hashicorp/go-sockaddr/sockaddr_test.go | |
parent | e2f4492eadb5d3c58606b1fdd5774b63a07c236a (diff) | |
download | chat-58839cefb50e56ae5b157b37e9814ae83ceee70b.tar.gz chat-58839cefb50e56ae5b157b37e9814ae83ceee70b.tar.bz2 chat-58839cefb50e56ae5b157b37e9814ae83ceee70b.zip |
Upgrading server dependancies (#6984)
Diffstat (limited to 'vendor/github.com/hashicorp/go-sockaddr/sockaddr_test.go')
-rw-r--r-- | vendor/github.com/hashicorp/go-sockaddr/sockaddr_test.go | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/go-sockaddr/sockaddr_test.go b/vendor/github.com/hashicorp/go-sockaddr/sockaddr_test.go index babaf2a8c..2471beb24 100644 --- a/vendor/github.com/hashicorp/go-sockaddr/sockaddr_test.go +++ b/vendor/github.com/hashicorp/go-sockaddr/sockaddr_test.go @@ -1,6 +1,7 @@ package sockaddr_test import ( + "encoding/json" "fmt" "testing" @@ -371,3 +372,69 @@ func TestToFoo(t *testing.T) { } } + +func TestSockAddrMarshaler(t *testing.T) { + addr := "192.168.10.24/24" + sa, err := sockaddr.NewSockAddr(addr) + if err != nil { + t.Fatal(err) + } + sam := &sockaddr.SockAddrMarshaler{ + SockAddr: sa, + } + marshaled, err := json.Marshal(sam) + if err != nil { + t.Fatal(err) + } + sam2 := &sockaddr.SockAddrMarshaler{} + err = json.Unmarshal(marshaled, sam2) + if err != nil { + t.Fatal(err) + } + if sam.SockAddr.String() != sam2.SockAddr.String() { + t.Fatalf("mismatch after marshaling: %s vs %s", sam.SockAddr.String(), sam2.SockAddr.String()) + } + if sam2.SockAddr.String() != addr { + t.Fatalf("mismatch after marshaling: %s vs %s", addr, sam2.SockAddr.String()) + } +} + +func TestSockAddrMultiMarshaler(t *testing.T) { + addr := "192.168.10.24/24" + type d struct { + Addr *sockaddr.SockAddrMarshaler + Addrs []*sockaddr.SockAddrMarshaler + } + sa, err := sockaddr.NewSockAddr(addr) + if err != nil { + t.Fatal(err) + } + myD := &d{ + Addr: &sockaddr.SockAddrMarshaler{SockAddr: sa}, + Addrs: []*sockaddr.SockAddrMarshaler{ + &sockaddr.SockAddrMarshaler{SockAddr: sa}, + &sockaddr.SockAddrMarshaler{SockAddr: sa}, + &sockaddr.SockAddrMarshaler{SockAddr: sa}, + }, + } + marshaled, err := json.Marshal(myD) + if err != nil { + t.Fatal(err) + } + var myD2 d + err = json.Unmarshal(marshaled, &myD2) + if err != nil { + t.Fatal(err) + } + if myD.Addr.String() != myD2.Addr.String() { + t.Fatalf("mismatch after marshaling: %s vs %s", myD.Addr.String(), myD2.Addr.String()) + } + if len(myD.Addrs) != len(myD2.Addrs) { + t.Fatalf("mismatch after marshaling: %d vs %d", len(myD.Addrs), len(myD2.Addrs)) + } + for i, v := range myD.Addrs { + if v.String() != myD2.Addrs[i].String() { + t.Fatalf("mismatch after marshaling: %s vs %s", v.String(), myD2.Addrs[i].String()) + } + } +} |