github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/sharedfilesystems/v2/schedulerstats/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/vnpaycloud-console/gophercloud/v2/openstack/sharedfilesystems/v2/schedulerstats" 8 "github.com/vnpaycloud-console/gophercloud/v2/pagination" 9 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 10 "github.com/vnpaycloud-console/gophercloud/v2/testhelper/client" 11 ) 12 13 func TestListPoolsDetail(t *testing.T) { 14 th.SetupHTTP() 15 defer th.TeardownHTTP() 16 HandlePoolsListSuccessfully(t) 17 18 pages := 0 19 err := schedulerstats.List(client.ServiceClient(), schedulerstats.ListOpts{}).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) { 20 pages++ 21 22 actual, err := schedulerstats.ExtractPools(page) 23 th.AssertNoErr(t, err) 24 25 if len(actual) != 4 { 26 t.Fatalf("Expected 4 backends, got %d", len(actual)) 27 } 28 th.CheckDeepEquals(t, PoolFake1, actual[0]) 29 th.CheckDeepEquals(t, PoolFake2, actual[1]) 30 th.CheckDeepEquals(t, PoolFake3, actual[2]) 31 th.CheckDeepEquals(t, PoolFake4, actual[3]) 32 33 return true, nil 34 }) 35 36 th.AssertNoErr(t, err) 37 38 if pages != 1 { 39 t.Errorf("Expected 1 page, saw %d", pages) 40 } 41 42 pages = 0 43 err = schedulerstats.ListDetail(client.ServiceClient(), schedulerstats.ListDetailOpts{}).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) { 44 pages++ 45 46 actual, err := schedulerstats.ExtractPools(page) 47 th.AssertNoErr(t, err) 48 49 if len(actual) != 4 { 50 t.Fatalf("Expected 4 backends, got %d", len(actual)) 51 } 52 th.CheckDeepEquals(t, PoolDetailFake1, actual[0]) 53 th.CheckDeepEquals(t, PoolDetailFake2, actual[1]) 54 th.CheckDeepEquals(t, PoolDetailFake3, actual[2]) 55 th.CheckDeepEquals(t, PoolDetailFake4, actual[3]) 56 57 return true, nil 58 }) 59 60 th.AssertNoErr(t, err) 61 62 if pages != 1 { 63 t.Errorf("Expected 1 page, saw %d", pages) 64 } 65 }