mirror of
https://github.com/clearlinux/libnetwork.git
synced 2026-10-03 23:38:27 +00:00
@@ -261,3 +261,83 @@ func TestNetIPCopyFunctions(t *testing.T) {
|
||||
t.Fatalf("Failed to return a true copy of net.IPNet")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPortBindingEqual(t *testing.T) {
|
||||
pb1 := &PortBinding{
|
||||
Proto: TCP,
|
||||
IP: net.ParseIP("172.17.0.1"),
|
||||
Port: 80,
|
||||
HostIP: net.ParseIP("192.168.100.1"),
|
||||
HostPort: 8080,
|
||||
}
|
||||
|
||||
pb2 := &PortBinding{
|
||||
Proto: UDP,
|
||||
IP: net.ParseIP("172.17.0.1"),
|
||||
Port: 22,
|
||||
HostIP: net.ParseIP("192.168.100.1"),
|
||||
HostPort: 2222,
|
||||
}
|
||||
if !pb1.Equal(pb1) {
|
||||
t.Fatalf("PortBinding.Equal() returned false negative")
|
||||
}
|
||||
|
||||
if pb1.Equal(nil) {
|
||||
t.Fatalf("PortBinding.Equal() returned false negative")
|
||||
}
|
||||
|
||||
if pb1.Equal(pb2) {
|
||||
t.Fatalf("PortBinding.Equal() returned false positive")
|
||||
}
|
||||
|
||||
if pb1.Equal(pb2) != pb2.Equal(pb1) {
|
||||
t.Fatalf("PortBinding.Equal() failed commutative check")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPortBindingGetCopy(t *testing.T) {
|
||||
pb := &PortBinding{
|
||||
Proto: TCP,
|
||||
IP: net.ParseIP("172.17.0.1"),
|
||||
Port: 80,
|
||||
HostIP: net.ParseIP("192.168.100.1"),
|
||||
HostPort: 8080,
|
||||
}
|
||||
cp := pb.GetCopy()
|
||||
|
||||
if !pb.Equal(&cp) {
|
||||
t.Fatalf("Failed to return a copy of PortBinding")
|
||||
}
|
||||
|
||||
if pb == &cp {
|
||||
t.Fatalf("Failed to return a true copy of PortBinding")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPortBindingContainerAddr(t *testing.T) {
|
||||
pb := PortBinding{
|
||||
Proto: TCP,
|
||||
IP: net.ParseIP("172.17.0.1"),
|
||||
Port: 80,
|
||||
HostIP: net.ParseIP("192.168.100.1"),
|
||||
HostPort: 8080,
|
||||
}
|
||||
|
||||
container, err := pb.ContainerAddr()
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
switch netAddr := container.(type) {
|
||||
case *net.TCPAddr:
|
||||
if !pb.IP.Equal(netAddr.IP) {
|
||||
t.Fatalf("PortBinding.ContainerAddr() Failed to return a ContainerAddr")
|
||||
}
|
||||
if int(pb.Port) != netAddr.Port {
|
||||
t.Fatalf("PortBinding.ContainerAddr() Failed to return a ContainerAddr")
|
||||
}
|
||||
case *net.UDPAddr:
|
||||
t.Fatalf("PortBinding.ContainerAddr() Failed to check correct proto")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user