github.com/grahambrereton-form3/tilt@v0.10.18/internal/tracer/tracer_test.go (about) 1 package tracer 2 3 import ( 4 "reflect" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestTagStrToMap(t *testing.T) { 11 s := "key1=val1,key2=val2" 12 expected := map[string]string{ 13 "key1": "val1", 14 "key2": "val2", 15 } 16 17 res := TagStrToMap(s) 18 if !reflect.DeepEqual(expected, res) { 19 t.Errorf("Expected result %v, got: %v", expected, res) 20 } 21 } 22 23 func TestTagStrToMapIgnoresMalformedEntries(t *testing.T) { 24 s := "key1=val1,malformed,key2=val2" 25 expected := map[string]string{ 26 "key1": "val1", 27 "key2": "val2", 28 } 29 30 res := TagStrToMap(s) 31 if !reflect.DeepEqual(expected, res) { 32 t.Errorf("Expected result %v, got: %v", expected, res) 33 } 34 } 35 36 var tracerBackendTests = []struct { 37 in string 38 out TracerBackend 39 error bool 40 }{ 41 {"windmill", Windmill, false}, 42 {"lightstep", Lightstep, false}, 43 {"foo", Windmill, true}, 44 {"jaeger", Jaeger, false}, 45 } 46 47 func TestStringToTracerBackend(t *testing.T) { 48 for _, tt := range tracerBackendTests { 49 t.Run(tt.in, func(t *testing.T) { 50 actual, err := StringToTracerBackend(tt.in) 51 if tt.error { 52 assert.Error(t, err) 53 } else { 54 assert.NoError(t, err) 55 } 56 57 assert.Equal(t, tt.out, actual) 58 }) 59 } 60 }