frostfs-node/pkg/network/tls_test.go
Leonard Lyubich e5504c7130 [#607] network: Do not use Address.String for address comparison
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-18 18:09:50 +03:00

51 lines
941 B
Go

package network
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestAddress_TLSEnabled(t *testing.T) {
testCases := [...]struct {
input string
wantTLS bool
}{
{"/dns4/localhost/tcp/8080", false},
{"/dns4/localhost/tcp/8080/tls", true},
{"/tls/dns4/localhost/tcp/8080", true},
}
for _, test := range testCases {
addr := Address{
ma: buildMultiaddr(test.input, t),
}
require.Equal(t, test.wantTLS, addr.TLSEnabled(), test.input)
}
}
func TestAddress_AddTLS(t *testing.T) {
input, tls := "/dns4/localhost/tcp/8080", tls.String()
testCases := [...]struct {
input string
want string
}{
{input, input + tls},
{input + tls, input + tls},
}
for _, test := range testCases {
addr := Address{
ma: buildMultiaddr(test.input, t),
}
addr.AddTLS()
netAddr, err := AddressFromString(test.want)
require.NoError(t, err)
require.True(t, netAddr.Equal(addr), test.input)
}
}