mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-25 08:05:17 +00:00
61 lines
1.6 KiB
Go
61 lines
1.6 KiB
Go
package manet
|
|
|
|
import (
|
|
"testing"
|
|
|
|
ma "github.com/multiformats/go-multiaddr"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestResolvingAddrs(t *testing.T) {
|
|
unspec := []ma.Multiaddr{
|
|
newMultiaddr(t, "/ip4/0.0.0.0/tcp/1234"),
|
|
newMultiaddr(t, "/ip4/1.2.3.4/tcp/1234"),
|
|
newMultiaddr(t, "/ip6/::/tcp/1234"),
|
|
newMultiaddr(t, "/ip6/::100/tcp/1234"),
|
|
newMultiaddr(t, "/ip4/0.0.0.0"),
|
|
}
|
|
|
|
iface := []ma.Multiaddr{
|
|
newMultiaddr(t, "/ip4/127.0.0.1"),
|
|
newMultiaddr(t, "/ip4/10.20.30.40"),
|
|
newMultiaddr(t, "/ip6/::1"),
|
|
newMultiaddr(t, "/ip6/::f"),
|
|
}
|
|
|
|
spec := []ma.Multiaddr{
|
|
newMultiaddr(t, "/ip4/127.0.0.1/tcp/1234"),
|
|
newMultiaddr(t, "/ip4/10.20.30.40/tcp/1234"),
|
|
newMultiaddr(t, "/ip4/1.2.3.4/tcp/1234"),
|
|
newMultiaddr(t, "/ip6/::1/tcp/1234"),
|
|
newMultiaddr(t, "/ip6/::f/tcp/1234"),
|
|
newMultiaddr(t, "/ip6/::100/tcp/1234"),
|
|
newMultiaddr(t, "/ip4/127.0.0.1"),
|
|
newMultiaddr(t, "/ip4/10.20.30.40"),
|
|
}
|
|
|
|
actual, err := ResolveUnspecifiedAddresses(unspec, iface)
|
|
require.NoError(t, err)
|
|
require.Equal(t, actual, spec)
|
|
|
|
ip4u := []ma.Multiaddr{newMultiaddr(t, "/ip4/0.0.0.0")}
|
|
ip4i := []ma.Multiaddr{newMultiaddr(t, "/ip4/1.2.3.4")}
|
|
|
|
ip6u := []ma.Multiaddr{newMultiaddr(t, "/ip6/::")}
|
|
ip6i := []ma.Multiaddr{newMultiaddr(t, "/ip6/::1")}
|
|
|
|
if _, err := ResolveUnspecifiedAddress(ip4u[0], ip6i); err == nil {
|
|
t.Fatal("should have failed")
|
|
}
|
|
if _, err := ResolveUnspecifiedAddress(ip6u[0], ip4i); err == nil {
|
|
t.Fatal("should have failed")
|
|
}
|
|
|
|
if _, err := ResolveUnspecifiedAddresses(ip6u, ip4i); err == nil {
|
|
t.Fatal("should have failed")
|
|
}
|
|
if _, err := ResolveUnspecifiedAddresses(ip4u, ip6i); err == nil {
|
|
t.Fatal("should have failed")
|
|
}
|
|
}
|