26 | 26 |
testTagValue = "test_value"
|
27 | 27 |
)
|
28 | 28 |
|
29 | |
func TestHttpClientTracePropagatesParentSpan(t *testing.T) {
|
|
29 |
func TestHTTPClientTracePropagatesParentSpan(t *testing.T) {
|
30 | 30 |
rec := recorder.NewReporter()
|
31 | 31 |
defer rec.Close()
|
32 | 32 |
|
|
219 | 219 |
t.Fatalf("incorrect error tag, want %s, have %s", want, have)
|
220 | 220 |
}
|
221 | 221 |
}
|
|
222 |
|
|
223 |
func TestHTTPServerTraceIsRequestBasedSampled(t *testing.T) {
|
|
224 |
rec := recorder.NewReporter()
|
|
225 |
defer rec.Close()
|
|
226 |
|
|
227 |
const httpMethod = "DELETE"
|
|
228 |
|
|
229 |
tr, _ := zipkin.NewTracer(rec)
|
|
230 |
|
|
231 |
handler := kithttp.NewServer(
|
|
232 |
endpoint.Nop,
|
|
233 |
func(context.Context, *http.Request) (interface{}, error) { return nil, nil },
|
|
234 |
func(context.Context, http.ResponseWriter, interface{}) error { return nil },
|
|
235 |
zipkinkit.HTTPServerTrace(tr, zipkinkit.RequestSampler(func(r *http.Request) bool {
|
|
236 |
return r.Method == httpMethod
|
|
237 |
})),
|
|
238 |
)
|
|
239 |
|
|
240 |
server := httptest.NewServer(handler)
|
|
241 |
defer server.Close()
|
|
242 |
|
|
243 |
req, err := http.NewRequest(httpMethod, server.URL, nil)
|
|
244 |
if err != nil {
|
|
245 |
t.Fatalf("unable to create HTTP request: %s", err.Error())
|
|
246 |
}
|
|
247 |
|
|
248 |
client := http.Client{}
|
|
249 |
resp, err := client.Do(req)
|
|
250 |
if err != nil {
|
|
251 |
t.Fatalf("unable to send HTTP request: %s", err.Error())
|
|
252 |
}
|
|
253 |
resp.Body.Close()
|
|
254 |
|
|
255 |
spans := rec.Flush()
|
|
256 |
if want, have := 1, len(spans); want != have {
|
|
257 |
t.Fatalf("incorrect number of spans, want %d, have %d", want, have)
|
|
258 |
}
|
|
259 |
}
|