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  }