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

Function TestListPager_EachListItem

tools/pager/pager_test.go:212–336  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

210}
211
212func TestListPager_EachListItem(t *testing.T) {
213 type fields struct {
214 PageSize int64
215 PageFn ListPageFunc
216 }
217 tests := []struct {
218 name string
219 fields fields
220 want runtime.Object
221 wantErr bool
222 wantPanic bool
223 isExpired bool
224 processorErrorOnItem int
225 processorPanicOnItem int
226 cancelContextOnItem int
227 }{
228 {
229 name: "empty page",
230 fields: fields{PageSize: 10, PageFn: (&testPager{t: t, expectPage: 10, remaining: 0, rv: "rv:20"}).PagedList},
231 want: list(0, "rv:20"),
232 },
233 {
234 name: "one page",
235 fields: fields{PageSize: 10, PageFn: (&testPager{t: t, expectPage: 10, remaining: 9, rv: "rv:20"}).PagedList},
236 want: list(9, "rv:20"),
237 },
238 {
239 name: "one full page",
240 fields: fields{PageSize: 10, PageFn: (&testPager{t: t, expectPage: 10, remaining: 10, rv: "rv:20"}).PagedList},
241 want: list(10, "rv:20"),
242 },
243 {
244 name: "two pages",
245 fields: fields{PageSize: 10, PageFn: (&testPager{t: t, expectPage: 10, remaining: 11, rv: "rv:20"}).PagedList},
246 want: list(11, "rv:20"),
247 },
248 {
249 name: "three pages",
250 fields: fields{PageSize: 10, PageFn: (&testPager{t: t, expectPage: 10, remaining: 21, rv: "rv:20"}).PagedList},
251 want: list(21, "rv:20"),
252 },
253 {
254 name: "expires on second page",
255 fields: fields{PageSize: 10, PageFn: (&testPager{t: t, expectPage: 10, remaining: 21, rv: "rv:20"}).ExpiresOnSecondPage},
256 want: list(10, "rv:20"), // all items on the first page should have been visited
257 wantErr: true,
258 isExpired: true,
259 },
260 {
261 name: "error processing item",
262 fields: fields{PageSize: 10, PageFn: (&testPager{t: t, expectPage: 10, remaining: 51, rv: "rv:20"}).PagedList},
263 want: list(3, "rv:20"), // all the items <= the one the processor returned an error on should have been visited
264 wantPanic: true,
265 processorPanicOnItem: 3,
266 },
267 {
268 name: "cancel context while processing",
269 fields: fields{PageSize: 10, PageFn: (&testPager{t: t, expectPage: 10, remaining: 51, rv: "rv:20"}).PagedList},

Callers

nothing calls this directly

Calls 4

EachListItemMethod · 0.95
listFunction · 0.85
ErrorfMethod · 0.65
RunMethod · 0.65

Tested by

no test coverage detected