mirror of https://github.com/linkerd/linkerd2.git
70 lines
1.4 KiB
Go
70 lines
1.4 KiB
Go
package addr
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/golang/protobuf/proto"
|
|
proxy "github.com/linkerd/linkerd2-proxy-api/go/net"
|
|
"github.com/linkerd/linkerd2/controller/gen/public"
|
|
)
|
|
|
|
func TestNetToPublic(t *testing.T) {
|
|
|
|
type addrExp struct {
|
|
proxyAddr *proxy.TcpAddress
|
|
publicAddress *public.TcpAddress
|
|
}
|
|
|
|
expectations := []addrExp{
|
|
{
|
|
proxyAddr: &proxy.TcpAddress{},
|
|
publicAddress: &public.TcpAddress{},
|
|
},
|
|
{
|
|
proxyAddr: &proxy.TcpAddress{
|
|
Ip: &proxy.IPAddress{Ip: &proxy.IPAddress_Ipv4{Ipv4: 1}},
|
|
Port: 1234,
|
|
},
|
|
publicAddress: &public.TcpAddress{
|
|
Ip: &public.IPAddress{Ip: &public.IPAddress_Ipv4{Ipv4: 1}},
|
|
Port: 1234,
|
|
},
|
|
},
|
|
{
|
|
proxyAddr: &proxy.TcpAddress{
|
|
Ip: &proxy.IPAddress{
|
|
Ip: &proxy.IPAddress_Ipv6{
|
|
Ipv6: &proxy.IPv6{
|
|
First: 2345,
|
|
Last: 6789,
|
|
},
|
|
},
|
|
},
|
|
Port: 1234,
|
|
},
|
|
publicAddress: &public.TcpAddress{
|
|
Ip: &public.IPAddress{
|
|
Ip: &public.IPAddress_Ipv6{
|
|
Ipv6: &public.IPv6{
|
|
First: 2345,
|
|
Last: 6789,
|
|
},
|
|
},
|
|
},
|
|
Port: 1234,
|
|
},
|
|
},
|
|
}
|
|
|
|
for i, exp := range expectations {
|
|
exp := exp // pin
|
|
t.Run(fmt.Sprintf("%d returns expected public API TCPAddress", i), func(t *testing.T) {
|
|
res := NetToPublic(exp.proxyAddr)
|
|
if !proto.Equal(res, exp.publicAddress) {
|
|
t.Fatalf("Unexpected TCP Address: [%+v] expected: [%+v]", res, exp.publicAddress)
|
|
}
|
|
})
|
|
}
|
|
}
|