github.com/grafana/synthetic-monitoring-agent@v0.64.2/internal/k6version/k6version_unexported_test.go (about) 1 package k6version 2 3 import ( 4 "testing" 5 6 sm "github.com/grafana/synthetic-monitoring-agent/pkg/pb/synthetic_monitoring" 7 ) 8 9 func TestToK6Versions(t *testing.T) { 10 t.Parallel() 11 12 for _, tc := range []struct { 13 name string 14 input []string 15 expected []sm.K6Version 16 }{ 17 { 18 name: "nil input", 19 input: nil, 20 expected: []sm.K6Version{}, 21 }, 22 { 23 name: "empty input", 24 input: []string{}, 25 expected: []sm.K6Version{}, 26 }, 27 { 28 name: "single version", 29 input: []string{"v1.2.3"}, 30 expected: []sm.K6Version{ 31 {Version: "v1.2.3"}, 32 }, 33 }, 34 { 35 name: "multiple versions", 36 input: []string{"v1.2.3", "v2.0.0", "v0.5.0"}, 37 expected: []sm.K6Version{ 38 {Version: "v1.2.3"}, 39 {Version: "v2.0.0"}, 40 {Version: "v0.5.0"}, 41 }, 42 }, 43 } { 44 t.Run(tc.name, func(t *testing.T) { 45 t.Parallel() 46 47 got := toK6Versions(tc.input) 48 49 if len(got) != len(tc.expected) { 50 t.Fatalf("expected %d versions, got %d: %v", len(tc.expected), len(got), got) 51 } 52 53 for i, v := range got { 54 if v.Version != tc.expected[i].Version { 55 t.Fatalf("versions[%d]: expected %q, got %q", i, tc.expected[i].Version, v.Version) 56 } 57 } 58 }) 59 } 60 }