package tor import ( "fmt" "net" "testing" "github.com/stretchr/testify/require" ) const ( testOnion = "ld47qlr6h2b7hrrf.onion" testFakeIP = "fd87:d87e:eb43:58f9:f82e:3e3e:83f3:c625" ) // TestOnionHostToFakeIP tests that an onion host address can be converted into // a fake tcp6 address successfully. func TestOnionHostToFakeIP(t *testing.T) { ip, err := OnionHostToFakeIP(testOnion) require.NoError(t, err) require.Equal(t, testFakeIP, ip.String()) } // TestFakeIPToOnionHost tests that a fake tcp6 address can be converted back // into its original .onion host address successfully. func TestFakeIPToOnionHost(t *testing.T) { tcpAddr, err := net.ResolveTCPAddr( "tcp6", fmt.Sprintf("[%s]:8333", testFakeIP), ) require.NoError(t, err) require.True(t, IsOnionFakeIP(tcpAddr)) onionHost, err := FakeIPToOnionHost(tcpAddr) require.NoError(t, err) require.Equal(t, fmt.Sprintf("%s:8333", testOnion), onionHost.String()) }