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 }