github.com/kubeshop/testkube@v1.17.23/contrib/executor/jmeterd/pkg/slaves/meta_test.go (about) 1 package slaves 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestSlaveMeta_Names(t *testing.T) { 11 t.Parallel() 12 13 meta := SlaveMeta{ 14 "slave1": "192.168.1.1", 15 "slave2": "192.168.1.2", 16 } 17 names := meta.Names() 18 assert.Len(t, names, 2) 19 assert.Contains(t, names, "slave1") 20 assert.Contains(t, names, "slave2") 21 } 22 23 func TestSlaveMeta_IPs(t *testing.T) { 24 t.Parallel() 25 26 meta := SlaveMeta{ 27 "slave1": "192.168.1.1", 28 "slave2": "192.168.1.2", 29 } 30 ips := meta.IPs() 31 assert.Len(t, ips, 2) 32 assert.Contains(t, ips, "192.168.1.1") 33 assert.Contains(t, ips, "192.168.1.2") 34 } 35 36 func TestSlaveMeta_ToIPString(t *testing.T) { 37 t.Parallel() 38 39 tests := []struct { 40 name string 41 meta SlaveMeta 42 expected string 43 }{ 44 { 45 name: "Empty", 46 meta: SlaveMeta{}, 47 expected: "", 48 }, 49 { 50 name: "Single", 51 meta: SlaveMeta{"slave1": "192.168.1.1"}, 52 expected: "192.168.1.1", 53 }, 54 { 55 name: "Multiple", 56 meta: SlaveMeta{"slave1": "192.168.1.1", "slave2": "192.168.1.2"}, 57 expected: "192.168.1.1,192.168.1.2", 58 }, 59 } 60 61 for _, tt := range tests { 62 t.Run(tt.name, func(t *testing.T) { 63 ipString := tt.meta.ToIPString() 64 assert.ElementsMatch(t, strings.Split(tt.expected, ","), strings.Split(ipString, ",")) 65 }) 66 } 67 }