MCPcopy
hub / github.com/kubernetes/client-go / testTryAcquireOrRenew

Function testTryAcquireOrRenew

tools/leaderelection/leaderelection_test.go:72–318  ·  view source on GitHub ↗
(t *testing.T, objectType string)

Source from the content-addressed store, hash-verified

70}
71
72func testTryAcquireOrRenew(t *testing.T, objectType string) {
73 future := time.Now().Add(1000 * time.Hour)
74 past := time.Now().Add(-1000 * time.Hour)
75
76 tests := []struct {
77 name string
78 observedRecord rl.LeaderElectionRecord
79 observedTime time.Time
80 reactors []struct {
81 verb string
82 reaction fakeclient.ReactionFunc
83 }
84
85 expectSuccess bool
86 transitionLeader bool
87 outHolder string
88 }{
89 {
90 name: "acquire from no object",
91 reactors: []struct {
92 verb string
93 reaction fakeclient.ReactionFunc
94 }{
95 {
96 verb: "get",
97 reaction: func(action fakeclient.Action) (handled bool, ret runtime.Object, err error) {
98 return true, nil, errors.NewNotFound(action.(fakeclient.GetAction).GetResource().GroupResource(), action.(fakeclient.GetAction).GetName())
99 },
100 },
101 {
102 verb: "create",
103 reaction: func(action fakeclient.Action) (handled bool, ret runtime.Object, err error) {
104 return true, action.(fakeclient.CreateAction).GetObject(), nil
105 },
106 },
107 },
108 expectSuccess: true,
109 outHolder: "baz",
110 },
111 {
112 name: "acquire from unled object",
113 reactors: []struct {
114 verb string
115 reaction fakeclient.ReactionFunc
116 }{
117 {
118 verb: "get",
119 reaction: func(action fakeclient.Action) (handled bool, ret runtime.Object, err error) {
120 return true, createLockObject(objectType, action.GetNamespace(), action.(fakeclient.GetAction).GetName(), rl.LeaderElectionRecord{}), nil
121 },
122 },
123 {
124 verb: "update",
125 reaction: func(action fakeclient.Action) (handled bool, ret runtime.Object, err error) {
126 return true, action.(fakeclient.CreateAction).GetObject(), nil
127 },
128 },
129 },

Calls 15

CoreV1Method · 0.95
CoordinationV1Method · 0.95
tryAcquireOrRenewMethod · 0.95
maybeReportTransitionMethod · 0.95
createLockObjectFunction · 0.85
AddReactorMethod · 0.80
ActionsMethod · 0.80
AddMethod · 0.65
NowMethod · 0.65
GetResourceMethod · 0.65
GetNameMethod · 0.65
GetObjectMethod · 0.65

Tested by

no test coverage detected