MCPcopy Create free account
hub / github.com/cortexproject/cortex / TestDefaultResultTracker

Function TestDefaultResultTracker

pkg/ring/replication_set_tracker_test.go:11–209  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestDefaultResultTracker(t *testing.T) {
12 instance1 := InstanceDesc{Addr: "127.0.0.1"}
13 instance2 := InstanceDesc{Addr: "127.0.0.2"}
14 instance3 := InstanceDesc{Addr: "127.0.0.3"}
15 instance4 := InstanceDesc{Addr: "127.0.0.4"}
16
17 tests := map[string]struct {
18 instances []InstanceDesc
19 maxErrors int
20 run func(t *testing.T, tracker *defaultResultTracker)
21 }{
22 "should succeed on no instances to track": {
23 instances: nil,
24 maxErrors: 0,
25 run: func(t *testing.T, tracker *defaultResultTracker) {
26 assert.True(t, tracker.succeeded())
27 assert.False(t, tracker.failed())
28 },
29 },
30 "should succeed once all instances succeed on max errors = 0": {
31 instances: []InstanceDesc{instance1, instance2, instance3, instance4},
32 maxErrors: 0,
33 run: func(t *testing.T, tracker *defaultResultTracker) {
34 assert.False(t, tracker.succeeded())
35 assert.False(t, tracker.failed())
36
37 tracker.done(&instance1, nil, nil)
38 assert.False(t, tracker.succeeded())
39 assert.False(t, tracker.failed())
40
41 tracker.done(&instance2, nil, nil)
42 assert.False(t, tracker.succeeded())
43 assert.False(t, tracker.failed())
44
45 tracker.done(&instance3, nil, nil)
46 assert.False(t, tracker.succeeded())
47 assert.False(t, tracker.failed())
48
49 tracker.done(&instance4, nil, nil)
50 assert.True(t, tracker.succeeded())
51 assert.False(t, tracker.failed())
52 },
53 },
54 "should fail on 1st failing instance on max errors = 0": {
55 instances: []InstanceDesc{instance1, instance2, instance3, instance4},
56 maxErrors: 0,
57 run: func(t *testing.T, tracker *defaultResultTracker) {
58 assert.False(t, tracker.succeeded())
59 assert.False(t, tracker.failed())
60
61 tracker.done(&instance1, nil, nil)
62 assert.False(t, tracker.succeeded())
63 assert.False(t, tracker.failed())
64
65 tracker.done(&instance2, nil, errors.New("test"))
66 assert.False(t, tracker.succeeded())
67 assert.True(t, tracker.failed())
68 },

Callers

nothing calls this directly

Calls 12

GetAddrMethod · 0.95
newDefaultResultTrackerFunction · 0.85
succeededMethod · 0.65
failedMethod · 0.65
doneMethod · 0.65
EqualMethod · 0.65
getResultsMethod · 0.65
failedCompletelyMethod · 0.65
finishedMethod · 0.65
getErrorsMethod · 0.65
RunMethod · 0.65
runMethod · 0.45

Tested by

no test coverage detected