github.com/craicoverflow/tyk@v2.9.6-rc3+incompatible/trace/jaeger/config_test.go (about) 1 package jaeger 2 3 import ( 4 "encoding/json" 5 "reflect" 6 "testing" 7 8 jaeger "github.com/uber/jaeger-client-go" 9 "github.com/uber/jaeger-client-go/config" 10 ) 11 12 const sampleConfig = `{ 13 "serviceName": "your_service_name", 14 "disabled": false, 15 "rpc_metrics": false, 16 "tags": null, 17 "sampler": { 18 "type": "const", 19 "param": 1, 20 "samplingServerURL": "", 21 "maxOperations": 0, 22 "samplingRefreshInterval": 0 23 }, 24 "reporter": { 25 "queueSize": 0, 26 "BufferFlushInterval": 0, 27 "logSpans": true, 28 "localAgentHostPort": "", 29 "collectorEndpoint": "", 30 "user": "", 31 "password": "" 32 }, 33 "headers": null, 34 "baggage_restrictions": null, 35 "throttler": null 36 }` 37 38 func TestLoad(t *testing.T) { 39 cfg := config.Configuration{ 40 ServiceName: "your_service_name", 41 Sampler: &config.SamplerConfig{ 42 Type: jaeger.SamplerTypeConst, 43 Param: 1, 44 }, 45 Reporter: &config.ReporterConfig{ 46 LogSpans: true, 47 }, 48 } 49 var o map[string]interface{} 50 err := json.Unmarshal([]byte(sampleConfig), &o) 51 if err != nil { 52 t.Fatal(err) 53 } 54 loadedConfig, err := Load(o) 55 if err != nil { 56 t.Fatal(err) 57 } 58 a := []interface{}{ 59 cfg.ServiceName, cfg.Disabled, 60 cfg.RPCMetrics, cfg.Tags, cfg.Sampler, 61 cfg.Reporter, cfg.Headers, cfg.BaggageRestrictions, 62 } 63 b := []interface{}{ 64 loadedConfig.ServiceName, loadedConfig.Disabled, 65 loadedConfig.RPCMetrics, loadedConfig.Tags, 66 loadedConfig.Sampler, loadedConfig.Reporter, 67 loadedConfig.Headers, loadedConfig.BaggageRestrictions, 68 } 69 if !reflect.DeepEqual(a, b) { 70 t.Errorf("expected %v\n got %v\n", cfg, loadedConfig) 71 } 72 }