frostfs-node/pkg/network/tls_test.go
Leonard Lyubich adbbad0beb [#607] network: Do not work with Address pointers
`network.Address` structure in most cases created once and used read-only.

Replace `AddressFromString` function with `Address.FromString` method with
the same purpose and implementation. Make all libraries to work with value.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-18 18:09:50 +03:00

53 lines
956 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()
var netAddr Address
err := netAddr.FromString(test.want)
require.NoError(t, err)
require.True(t, netAddr.Equal(addr), test.input)
}
}