MCPcopy Create free account
hub / github.com/CrunchyData/postgres-operator / TestCheck

Function TestCheck

internal/tracing/errors_test.go:18–53  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

16)
17
18func TestCheck(t *testing.T) {
19 recorder := tracetest.NewSpanRecorder()
20 tracer := trace.NewTracerProvider(
21 trace.WithSpanProcessor(recorder),
22 ).Tracer("")
23
24 {
25 _, span := tracer.Start(context.Background(), "")
26 assert.Assert(t, Check(span, nil))
27 span.End()
28
29 spans := recorder.Ended()
30 assert.Equal(t, len(spans), 1)
31 assert.Equal(t, len(spans[0].Events()), 0, "expected no events")
32 }
33
34 {
35 _, span := tracer.Start(context.Background(), "")
36 assert.Assert(t, !Check(span, errors.New("msg")))
37 span.End()
38
39 spans := recorder.Ended()
40 assert.Equal(t, len(spans), 2)
41 assert.Equal(t, len(spans[1].Events()), 1, "expected one event")
42
43 event := spans[1].Events()[0]
44 assert.Equal(t, event.Name, semconv.ExceptionEventName)
45
46 attrs := event.Attributes
47 assert.Equal(t, len(attrs), 2)
48 assert.Equal(t, string(attrs[0].Key), "exception.type")
49 assert.Equal(t, string(attrs[1].Key), "exception.message")
50 assert.Equal(t, attrs[0].Value.AsInterface(), "*errors.errorString")
51 assert.Equal(t, attrs[1].Value.AsInterface(), "msg")
52 }
53}
54
55func TestEscape(t *testing.T) {
56 recorder := tracetest.NewSpanRecorder()

Callers

nothing calls this directly

Calls 3

CheckFunction · 0.85
StartMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected