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

Function TestClassroomService_ListClassroomsIter

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

Source from the content-addressed store, hash-verified

4048}
4049
4050func TestClassroomService_ListClassroomsIter(t *testing.T) {
4051 t.Parallel()
4052 client, mux, _ := setup(t)
4053 var callNum int
4054 mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
4055 callNum++
4056 switch callNum {
4057 case 1:
4058 w.Header().Set("Link", `<https://api.github.com/?page=1>; rel="next"`)
4059 fmt.Fprint(w, `[{},{},{}]`)
4060 case 2:
4061 fmt.Fprint(w, `[{},{},{},{}]`)
4062 case 3:
4063 fmt.Fprint(w, `[{},{}]`)
4064 case 4:
4065 w.WriteHeader(http.StatusNotFound)
4066 case 5:
4067 fmt.Fprint(w, `[{},{}]`)
4068 }
4069 })
4070
4071 iter := client.Classroom.ListClassroomsIter(t.Context(), nil)
4072 var gotItems int
4073 for _, err := range iter {
4074 gotItems++
4075 if err != nil {
4076 t.Errorf("Unexpected error: %v", err)
4077 }
4078 }
4079 if want := 7; gotItems != want {
4080 t.Errorf("client.Classroom.ListClassroomsIter call 1 got %v items; want %v", gotItems, want)
4081 }
4082
4083 opts := &ListOptions{}
4084 iter = client.Classroom.ListClassroomsIter(t.Context(), opts)
4085 gotItems = 0
4086 for _, err := range iter {
4087 gotItems++
4088 if err != nil {
4089 t.Errorf("Unexpected error: %v", err)
4090 }
4091 }
4092 if want := 2; gotItems != want {
4093 t.Errorf("client.Classroom.ListClassroomsIter call 2 got %v items; want %v", gotItems, want)
4094 }
4095
4096 iter = client.Classroom.ListClassroomsIter(t.Context(), nil)
4097 gotItems = 0
4098 for _, err := range iter {
4099 gotItems++
4100 if err == nil {
4101 t.Error("expected error; got nil")
4102 }
4103 }
4104 if gotItems != 1 {
4105 t.Errorf("client.Classroom.ListClassroomsIter call 3 got %v items; want 1 (an error)", gotItems)
4106 }
4107

Callers

nothing calls this directly

Calls 3

ListClassroomsIterMethod · 0.80
setupFunction · 0.70
ErrorMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…