github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/loadbalancer/v2/providers/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/vnpaycloud-console/gophercloud/v2/openstack/loadbalancer/v2/providers" 8 fake "github.com/vnpaycloud-console/gophercloud/v2/openstack/loadbalancer/v2/testhelper" 9 "github.com/vnpaycloud-console/gophercloud/v2/pagination" 10 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 11 ) 12 13 func TestListProviders(t *testing.T) { 14 th.SetupHTTP() 15 defer th.TeardownHTTP() 16 HandleProviderListSuccessfully(t) 17 18 pages := 0 19 err := providers.List(fake.ServiceClient(), providers.ListOpts{}).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) { 20 pages++ 21 22 actual, err := providers.ExtractProviders(page) 23 if err != nil { 24 return false, err 25 } 26 27 if len(actual) != 2 { 28 t.Fatalf("Expected 2 providers, got %d", len(actual)) 29 } 30 th.CheckDeepEquals(t, ProviderAmphora, actual[0]) 31 th.CheckDeepEquals(t, ProviderOVN, actual[1]) 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 43 func TestListAllProviders(t *testing.T) { 44 th.SetupHTTP() 45 defer th.TeardownHTTP() 46 HandleProviderListSuccessfully(t) 47 48 allPages, err := providers.List(fake.ServiceClient(), providers.ListOpts{}).AllPages(context.TODO()) 49 th.AssertNoErr(t, err) 50 actual, err := providers.ExtractProviders(allPages) 51 th.AssertNoErr(t, err) 52 th.CheckDeepEquals(t, ProviderAmphora, actual[0]) 53 th.CheckDeepEquals(t, ProviderOVN, actual[1]) 54 }