From 8675136fd898eb88d0b6067aded7a2d4022667ca Mon Sep 17 00:00:00 2001 From: Austin Hartzheim Date: Mon, 26 Mar 2018 21:53:15 -0500 Subject: [PATCH] Added tests for trace.CreateSpan. --- trace/trace_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/trace/trace_test.go b/trace/trace_test.go index 15eefe784..a2cff0105 100644 --- a/trace/trace_test.go +++ b/trace/trace_test.go @@ -12,6 +12,45 @@ import ( const testServiceName = "TEST-SERVICE" +func TestCreateSpanNoGlobalTracer(t *testing.T) { + opentracing.SetGlobalTracer(nil) + req, _ := http.NewRequest("GET", "http://example.com", nil) + + if CreateSpan(req, testServiceName) != nil { + t.Error("CreateSpan returned a non-nil result using a nil global tracer.") + t.Fail() + } +} + +func TestCreateSpanWithNoParent(t *testing.T) { + tracer, _ := zipkin.NewTracer(nil) + opentracing.SetGlobalTracer(tracer) + + req, _ := http.NewRequest("GET", "http://example.com", nil) + if CreateSpan(req, testServiceName) == nil { + t.Error("Received nil span while a global tracer was set.") + t.FailNow() + } +} + +func TestCreateSpanWithParent(t *testing.T) { + mt := mocktracer.New() + opentracing.SetGlobalTracer(mt) + globalTracer := opentracing.GlobalTracer() + parentSpan := globalTracer.StartSpan(testServiceName) + + requestIn, _ := http.NewRequest("GET", "http://example.com", nil) + mt.Inject(parentSpan.Context(), + opentracing.HTTPHeaders, + opentracing.HTTPHeadersCarrier(requestIn.Header), + ) + + if CreateSpan(requestIn, testServiceName+"-child") == nil { + t.Error("Received a nil span while a global tracer was set.") + t.FailNow() + } +} + func TestInjectHeaders(t *testing.T) { mt := mocktracer.New() opentracing.SetGlobalTracer(mt)