MCPcopy
hub / github.com/grafana/tempo / TestExclusiveQueues

Function TestExclusiveQueues

pkg/flushqueues/exclusivequeues_test.go:27–83  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

25}
26
27func TestExclusiveQueues(t *testing.T) {
28 gauge := prometheus.NewGauge(prometheus.GaugeOpts{
29 Namespace: "test",
30 Name: "testersons",
31 })
32
33 q := New[mockOp](gauge)
34 op := mockOp{
35 key: "not unique",
36 }
37
38 // enqueue twice
39 err := q.Enqueue(op)
40 assert.NoError(t, err)
41
42 length, err := test.GetGaugeValue(gauge)
43 assert.NoError(t, err)
44 assert.Equal(t, 1, int(length))
45
46 err = q.Enqueue(op)
47 assert.NoError(t, err)
48
49 length, err = test.GetGaugeValue(gauge)
50 assert.NoError(t, err)
51 assert.Equal(t, 1, int(length))
52
53 // dequeue -> requeue
54 _ = q.Dequeue()
55 length, err = test.GetGaugeValue(gauge)
56 assert.NoError(t, err)
57 assert.Equal(t, 0, int(length))
58
59 err = q.Requeue(op)
60 assert.NoError(t, err)
61
62 length, err = test.GetGaugeValue(gauge)
63 assert.NoError(t, err)
64 assert.Equal(t, 1, int(length))
65
66 // dequeue -> clearkey -> enqueue
67 _ = q.Dequeue()
68 length, err = test.GetGaugeValue(gauge)
69 assert.NoError(t, err)
70 assert.Equal(t, 0, int(length))
71
72 q.Clear(op)
73 length, err = test.GetGaugeValue(gauge)
74 assert.NoError(t, err)
75 assert.Equal(t, 0, int(length))
76
77 err = q.Enqueue(op)
78 assert.NoError(t, err)
79
80 length, err = test.GetGaugeValue(gauge)
81 assert.NoError(t, err)
82 assert.Equal(t, 1, int(length))
83}
84

Callers

nothing calls this directly

Calls 7

GetGaugeValueFunction · 0.92
RequeueMethod · 0.80
NewGaugeMethod · 0.65
ClearMethod · 0.65
EnqueueMethod · 0.45
EqualMethod · 0.45
DequeueMethod · 0.45

Tested by

no test coverage detected