You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
945 B
36 lines
945 B
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()) |
|
}
|
|
|