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  }