MCPcopy Index your code
hub / github.com/google/go-github / TestUsersService_ListKeysIter

Function TestUsersService_ListKeysIter

github/github-iterators_test.go:16578–16648  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

16576}
16577
16578func TestUsersService_ListKeysIter(t *testing.T) {
16579 t.Parallel()
16580 client, mux, _ := setup(t)
16581 var callNum int
16582 mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
16583 callNum++
16584 switch callNum {
16585 case 1:
16586 w.Header().Set("Link", `<https://api.github.com/?page=1>; rel="next"`)
16587 fmt.Fprint(w, `[{},{},{}]`)
16588 case 2:
16589 fmt.Fprint(w, `[{},{},{},{}]`)
16590 case 3:
16591 fmt.Fprint(w, `[{},{}]`)
16592 case 4:
16593 w.WriteHeader(http.StatusNotFound)
16594 case 5:
16595 fmt.Fprint(w, `[{},{}]`)
16596 }
16597 })
16598
16599 iter := client.Users.ListKeysIter(t.Context(), "", nil)
16600 var gotItems int
16601 for _, err := range iter {
16602 gotItems++
16603 if err != nil {
16604 t.Errorf("Unexpected error: %v", err)
16605 }
16606 }
16607 if want := 7; gotItems != want {
16608 t.Errorf("client.Users.ListKeysIter call 1 got %v items; want %v", gotItems, want)
16609 }
16610
16611 opts := &ListOptions{}
16612 iter = client.Users.ListKeysIter(t.Context(), "", opts)
16613 gotItems = 0
16614 for _, err := range iter {
16615 gotItems++
16616 if err != nil {
16617 t.Errorf("Unexpected error: %v", err)
16618 }
16619 }
16620 if want := 2; gotItems != want {
16621 t.Errorf("client.Users.ListKeysIter call 2 got %v items; want %v", gotItems, want)
16622 }
16623
16624 iter = client.Users.ListKeysIter(t.Context(), "", nil)
16625 gotItems = 0
16626 for _, err := range iter {
16627 gotItems++
16628 if err == nil {
16629 t.Error("expected error; got nil")
16630 }
16631 }
16632 if gotItems != 1 {
16633 t.Errorf("client.Users.ListKeysIter call 3 got %v items; want 1 (an error)", gotItems)
16634 }
16635

Callers

nothing calls this directly

Calls 3

setupFunction · 0.70
ListKeysIterMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…