frostfs-sdk-go/netmap/node_info_test.go
Airat Arifullin 6281a25556
All checks were successful
/ DCO (pull_request) Successful in 1m17s
/ Lint (pull_request) Successful in 2m7s
/ Tests (1.19) (pull_request) Successful in 5m56s
/ Tests (1.20) (pull_request) Successful in 6m37s
[#100] types: Make sdk types as protobuf wrappers
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-07-12 19:08:37 +03:00

61 lines
1.3 KiB
Go

package netmap
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestNodeInfo_SetAttribute(t *testing.T) {
n := NewNodeInfo()
const key = "some key"
val := "some value"
require.Zero(t, n.Attribute(val))
n.SetAttribute(key, val)
require.Equal(t, val, n.Attribute(key))
val = "some other value"
n.SetAttribute(key, val)
require.Equal(t, val, n.Attribute(key))
}
func TestNodeInfo_Status(t *testing.T) {
n := NewNodeInfo()
require.False(t, n.IsOnline())
require.False(t, n.IsOffline())
require.False(t, n.IsMaintenance())
n.SetOnline()
require.True(t, n.IsOnline())
require.False(t, n.IsOffline())
require.False(t, n.IsMaintenance())
n.SetOffline()
require.True(t, n.IsOffline())
require.False(t, n.IsOnline())
require.False(t, n.IsMaintenance())
n.SetMaintenance()
require.True(t, n.IsMaintenance())
require.False(t, n.IsOnline())
require.False(t, n.IsOffline())
}
func TestNodeInfo_ExternalAddr(t *testing.T) {
n := NewNodeInfo()
require.Empty(t, n.ExternalAddresses())
require.Panics(t, func() { n.SetExternalAddresses() })
addr := []string{"1", "2", "3"}
n.SetExternalAddresses(addr[0])
require.Equal(t, addr[:1], n.ExternalAddresses())
n.SetExternalAddresses(addr[1:]...)
require.Equal(t, addr[1:], n.ExternalAddresses())
}