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

Function TestFIFO_requeueOnPop

tools/cache/fifo_test.go:74–116  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

72}
73
74func TestFIFO_requeueOnPop(t *testing.T) {
75 f := NewFIFO(testFifoObjectKeyFunc)
76
77 f.Add(mkFifoObj("foo", 10))
78 _, err := f.Pop(func(obj interface{}) error {
79 if obj.(testFifoObject).name != "foo" {
80 t.Fatalf("unexpected object: %#v", obj)
81 }
82 return ErrRequeue{Err: nil}
83 })
84 if err != nil {
85 t.Fatalf("unexpected error: %v", err)
86 }
87 if _, ok, err := f.GetByKey("foo"); !ok || err != nil {
88 t.Fatalf("object should have been requeued: %t %v", ok, err)
89 }
90
91 _, err = f.Pop(func(obj interface{}) error {
92 if obj.(testFifoObject).name != "foo" {
93 t.Fatalf("unexpected object: %#v", obj)
94 }
95 return ErrRequeue{Err: fmt.Errorf("test error")}
96 })
97 if err == nil || err.Error() != "test error" {
98 t.Fatalf("unexpected error: %v", err)
99 }
100 if _, ok, err := f.GetByKey("foo"); !ok || err != nil {
101 t.Fatalf("object should have been requeued: %t %v", ok, err)
102 }
103
104 _, err = f.Pop(func(obj interface{}) error {
105 if obj.(testFifoObject).name != "foo" {
106 t.Fatalf("unexpected object: %#v", obj)
107 }
108 return nil
109 })
110 if err != nil {
111 t.Fatalf("unexpected error: %v", err)
112 }
113 if _, ok, err := f.GetByKey("foo"); ok || err != nil {
114 t.Fatalf("object should have been removed: %t %v", ok, err)
115 }
116}
117
118func TestFIFO_addUpdate(t *testing.T) {
119 f := NewFIFO(testFifoObjectKeyFunc)

Callers

nothing calls this directly

Calls 7

AddMethod · 0.95
PopMethod · 0.95
GetByKeyMethod · 0.95
NewFIFOFunction · 0.85
mkFifoObjFunction · 0.85
ErrorfMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected