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  }