MCPcopy Create free account
hub / github.com/ankorstore/yokai / TestCtxTracerFromGlobalsAndWithMiddleware

Function TestCtxTracerFromGlobalsAndWithMiddleware

httpserver/context_test.go:136–166  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

134}
135
136func TestCtxTracerFromGlobalsAndWithMiddleware(t *testing.T) {
137 exporter := tracetest.NewDefaultTestTraceExporter()
138
139 _, err := trace.NewDefaultTracerProviderFactory().Create(
140 trace.Global(true),
141 trace.WithSpanProcessor(trace.NewTestSpanProcessor(exporter)),
142 )
143 assert.NoError(t, err)
144
145 httpServer := echo.New()
146 httpServer.Use(middleware.RequestTracerMiddleware("test"))
147
148 httpServer.GET("/test", func(c echo.Context) error {
149 tracer := httpserver.CtxTracer(c)
150
151 _, span := tracer.Start(c.Request().Context(), "test span")
152 span.End()
153
154 return c.String(http.StatusOK, "ok")
155 })
156
157 req := httptest.NewRequest(http.MethodGet, "/test", nil)
158 rec := httptest.NewRecorder()
159 httpServer.ServeHTTP(rec, req)
160 assert.NoError(t, err)
161
162 assert.Equal(t, http.StatusOK, rec.Code)
163
164 tracetest.AssertHasTraceSpan(t, exporter, "GET /test")
165 tracetest.AssertHasTraceSpan(t, exporter, "test span")
166}
167
168func TestCtxTracerFromGlobalsAndWithoutMiddleware(t *testing.T) {
169 exporter := tracetest.NewDefaultTestTraceExporter()

Callers

nothing calls this directly

Calls 3

CreateMethod · 0.65
StartMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected