[#345] netmap: Implement an iterator over node endpoints

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
Evgenii Stratonikov 2025-04-04 17:14:27 +03:00
parent 5be3415961
commit b27f172de9
Signed by: fyrchik
SSH key fingerprint: SHA256:m/TTwCzjnRkXgnzEx9X92ccxy1CcVeinOgDb3NPWWmg
3 changed files with 68 additions and 1 deletions

View file

@ -7,6 +7,45 @@ import (
"github.com/stretchr/testify/require"
)
func TestNodeInfo_NetworkEndpoints(t *testing.T) {
t.Run("empty", func(t *testing.T) {
var n NodeInfo
for range n.NetworkEndpoints() {
t.Fatalf("handler is called, but it shouldn't")
}
})
var n NodeInfo
n.SetNetworkEndpoints("1", "2", "3")
t.Run("break", func(t *testing.T) {
var res []string
for s := range n.NetworkEndpoints() {
if s == "2" {
break
}
res = append(res, s)
}
require.Equal(t, []string{"1"}, res)
})
t.Run("continue", func(t *testing.T) {
var res []string
for s := range n.NetworkEndpoints() {
if s == "2" {
continue
}
res = append(res, s)
}
require.Equal(t, []string{"1", "3"}, res)
})
var res []string
for s := range n.NetworkEndpoints() {
res = append(res, s)
}
require.Equal(t, []string{"1", "2", "3"}, res)
}
func TestNodeInfo_SetAttribute(t *testing.T) {
var n NodeInfo