MCPcopy
hub / github.com/grafana/dskit / TestBasicLifecycler_RegisterOnStart

Function TestBasicLifecycler_RegisterOnStart

ring/basic_lifecycler_test.go:51–235  ·  ring/basic_lifecycler_test.go::TestBasicLifecycler_RegisterOnStart
(t *testing.T)

Source from the content-addressed store, hash-verified

49}
50
51func TestBasicLifecycler_RegisterOnStart(t *testing.T) {
52 tests := map[string]struct {
53 initialInstanceID string
54 initialInstanceDesc *InstanceDesc
55 registerState InstanceState
56 registerTokens Tokens
57 }{
58 "initial ring is empty": {
59 registerState: ACTIVE,
60 registerTokens: Tokens{1, 2, 3, 4, 5},
61 },
62 "initial ring non empty (containing another instance)": {
63 initialInstanceID: "instance-1",
64 initialInstanceDesc: &InstanceDesc{
65 Addr: "1.1.1.1",
66 State: ACTIVE,
67 Tokens: Tokens{6, 7, 8, 9, 10},
68 RegisteredTimestamp: time.Now().Add(-time.Hour).Unix(),
69 },
70 registerState: ACTIVE,
71 registerTokens: Tokens{1, 2, 3, 4, 5},
72 },
73 "initial ring contains the same instance with different state, tokens, version and address (new one is 127.0.0.1)": {
74 initialInstanceID: testInstanceID,
75 initialInstanceDesc: &InstanceDesc{
76 Addr: "1.1.1.1",
77 State: ACTIVE,
78 Tokens: Tokens{6, 7, 8, 9, 10},
79 RegisteredTimestamp: time.Now().Add(-time.Hour).Unix(),
80 Versions: InstanceVersions{
81 1: 10,
82 2: 40,
83 },
84 },
85 registerState: JOINING,
86 registerTokens: Tokens{1, 2, 3, 4, 5},
87 },
88 "initial ring contains the same instance with different address (new one is 127.0.0.1)": {
89 initialInstanceID: testInstanceID,
90 initialInstanceDesc: &InstanceDesc{
91 Addr: "1.1.1.1",
92 State: ACTIVE,
93 Tokens: Tokens{1, 2, 3, 4, 5},
94 RegisteredTimestamp: time.Now().Add(-time.Hour).Unix(),
95 },
96 registerState: ACTIVE,
97 registerTokens: Tokens{1, 2, 3, 4, 5},
98 },
99 "initial ring contains the same instance with registered timestamp == 0": {
100 initialInstanceID: testInstanceID,
101 initialInstanceDesc: &InstanceDesc{
102 Addr: "1.1.1.1",
103 State: ACTIVE,
104 Tokens: Tokens{1, 2, 3, 4, 5},
105 RegisteredTimestamp: 0,
106 },
107 registerState: ACTIVE,
108 registerTokens: Tokens{1, 2, 3, 4, 5},

Callers

nothing calls this directly

Calls 15

StopAndAwaitTerminatedFunction · 0.92
StartAndAwaitRunningFunction · 0.92
prepareBasicLifecyclerFunction · 0.85
GetOrCreateRingDescFunction · 0.85
getInstanceFromStoreFunction · 0.85
TokensTypeAlias · 0.85
InstanceVersionsTypeAlias · 0.85
RunMethod · 0.80
AddIngesterMethod · 0.80
IsRegisteredMethod · 0.80
GetInstanceIDMethod · 0.80

Tested by

no test coverage detected