github.com/Tyktechnologies/tyk@v2.9.5+incompatible/gateway/api_loader_test.go (about)

     1  package gateway
     2  
     3  import (
     4  	"sync/atomic"
     5  	"testing"
     6  
     7  	"github.com/TykTechnologies/tyk/trace"
     8  )
     9  
    10  func TestOpenTracing(t *testing.T) {
    11  	ts := StartTest()
    12  	defer ts.Close()
    13  	trace.SetupTracing("test", nil)
    14  	defer trace.Close()
    15  
    16  	t.Run("ensure the manager is enabled", func(ts *testing.T) {
    17  		if !trace.IsEnabled() {
    18  			ts.Error("expected tracing manager should be enabled")
    19  		}
    20  	})
    21  
    22  	t.Run("ensure services are initialized", func(ts *testing.T) {
    23  		var s atomic.Value
    24  		trace.SetInit(func(name string, service string, opts map[string]interface{}, logger trace.Logger) (trace.Tracer, error) {
    25  			s.Store(service)
    26  			return trace.NoopTracer{}, nil
    27  		})
    28  		name := "trace"
    29  		BuildAndLoadAPI(
    30  			func(spec *APISpec) {
    31  				spec.Name = name
    32  				spec.UseOauth2 = true
    33  			},
    34  		)
    35  		var n string
    36  		if v := s.Load(); v != nil {
    37  			n = v.(string)
    38  		}
    39  		if name != n {
    40  			ts.Errorf("expected %s got %s", name, n)
    41  		}
    42  	})
    43  }