github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/db/v1/datastores/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/vnpaycloud-console/gophercloud/v2/openstack/db/v1/datastores" 8 "github.com/vnpaycloud-console/gophercloud/v2/pagination" 9 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 10 fake "github.com/vnpaycloud-console/gophercloud/v2/testhelper/client" 11 "github.com/vnpaycloud-console/gophercloud/v2/testhelper/fixture" 12 ) 13 14 func TestList(t *testing.T) { 15 th.SetupHTTP() 16 defer th.TeardownHTTP() 17 fixture.SetupHandler(t, "/datastores", "GET", "", ListDSResp, 200) 18 19 pages := 0 20 21 err := datastores.List(fake.ServiceClient()).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) { 22 pages++ 23 24 actual, err := datastores.ExtractDatastores(page) 25 if err != nil { 26 return false, err 27 } 28 29 th.CheckDeepEquals(t, []datastores.Datastore{ExampleDatastore}, actual) 30 31 return true, nil 32 }) 33 34 th.AssertNoErr(t, err) 35 th.AssertEquals(t, 1, pages) 36 } 37 38 func TestGet(t *testing.T) { 39 th.SetupHTTP() 40 defer th.TeardownHTTP() 41 fixture.SetupHandler(t, "/datastores/{dsID}", "GET", "", GetDSResp, 200) 42 43 ds, err := datastores.Get(context.TODO(), fake.ServiceClient(), "{dsID}").Extract() 44 th.AssertNoErr(t, err) 45 th.AssertDeepEquals(t, &ExampleDatastore, ds) 46 } 47 48 func TestListVersions(t *testing.T) { 49 th.SetupHTTP() 50 defer th.TeardownHTTP() 51 fixture.SetupHandler(t, "/datastores/{dsID}/versions", "GET", "", ListVersionsResp, 200) 52 53 pages := 0 54 55 err := datastores.ListVersions(fake.ServiceClient(), "{dsID}").EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) { 56 pages++ 57 58 actual, err := datastores.ExtractVersions(page) 59 if err != nil { 60 return false, err 61 } 62 63 th.CheckDeepEquals(t, ExampleVersions, actual) 64 65 return true, nil 66 }) 67 68 th.AssertNoErr(t, err) 69 th.AssertEquals(t, 1, pages) 70 } 71 72 func TestGetVersion(t *testing.T) { 73 th.SetupHTTP() 74 defer th.TeardownHTTP() 75 fixture.SetupHandler(t, "/datastores/{dsID}/versions/{versionID}", "GET", "", GetVersionResp, 200) 76 77 ds, err := datastores.GetVersion(context.TODO(), fake.ServiceClient(), "{dsID}", "{versionID}").Extract() 78 th.AssertNoErr(t, err) 79 th.AssertDeepEquals(t, &ExampleVersion1, ds) 80 }