adbbad0beb
`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>
53 lines
956 B
Go
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)
|
|
}
|
|
}
|