github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/identity/v3/credentials/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/identity/v3/credentials"
     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 TestListCredentials(t *testing.T) {
    14  	th.SetupHTTP()
    15  	defer th.TeardownHTTP()
    16  	HandleListCredentialsSuccessfully(t)
    17  
    18  	count := 0
    19  	err := credentials.List(client.ServiceClient(), nil).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
    20  		count++
    21  
    22  		actual, err := credentials.ExtractCredentials(page)
    23  		th.AssertNoErr(t, err)
    24  
    25  		th.CheckDeepEquals(t, ExpectedCredentialsSlice, actual)
    26  
    27  		return true, nil
    28  	})
    29  	th.AssertNoErr(t, err)
    30  	th.CheckEquals(t, count, 1)
    31  }
    32  
    33  func TestListCredentialsAllPages(t *testing.T) {
    34  	th.SetupHTTP()
    35  	defer th.TeardownHTTP()
    36  	HandleListCredentialsSuccessfully(t)
    37  
    38  	allPages, err := credentials.List(client.ServiceClient(), nil).AllPages(context.TODO())
    39  	th.AssertNoErr(t, err)
    40  	actual, err := credentials.ExtractCredentials(allPages)
    41  	th.AssertNoErr(t, err)
    42  	th.CheckDeepEquals(t, ExpectedCredentialsSlice, actual)
    43  	th.AssertDeepEquals(t, ExpectedCredentialsSlice[0].Blob, "{\"access\":\"181920\",\"secret\":\"secretKey\"}")
    44  	th.AssertDeepEquals(t, ExpectedCredentialsSlice[1].Blob, "{\"access\":\"7da79ff0aa364e1396f067e352b9b79a\",\"secret\":\"7a18d68ba8834b799d396f3ff6f1e98c\"}")
    45  }
    46  
    47  func TestGetCredential(t *testing.T) {
    48  	th.SetupHTTP()
    49  	defer th.TeardownHTTP()
    50  	HandleGetCredentialSuccessfully(t)
    51  
    52  	actual, err := credentials.Get(context.TODO(), client.ServiceClient(), credentialID).Extract()
    53  	th.AssertNoErr(t, err)
    54  	th.CheckDeepEquals(t, Credential, *actual)
    55  }
    56  
    57  func TestCreateCredential(t *testing.T) {
    58  	th.SetupHTTP()
    59  	defer th.TeardownHTTP()
    60  	HandleCreateCredentialSuccessfully(t)
    61  
    62  	createOpts := credentials.CreateOpts{
    63  		ProjectID: projectID,
    64  		Type:      "ec2",
    65  		UserID:    userID,
    66  		Blob:      "{\"access\":\"181920\",\"secret\":\"secretKey\"}",
    67  	}
    68  
    69  	CredentialResponse := Credential
    70  
    71  	actual, err := credentials.Create(context.TODO(), client.ServiceClient(), createOpts).Extract()
    72  	th.AssertNoErr(t, err)
    73  	th.CheckDeepEquals(t, CredentialResponse, *actual)
    74  }
    75  
    76  func TestDeleteCredential(t *testing.T) {
    77  	th.SetupHTTP()
    78  	defer th.TeardownHTTP()
    79  	HandleDeleteCredentialSuccessfully(t)
    80  
    81  	res := credentials.Delete(context.TODO(), client.ServiceClient(), credentialID)
    82  	th.AssertNoErr(t, res.Err)
    83  }
    84  
    85  func TestUpdateCredential(t *testing.T) {
    86  	th.SetupHTTP()
    87  	defer th.TeardownHTTP()
    88  	HandleUpdateCredentialSuccessfully(t)
    89  
    90  	updateOpts := credentials.UpdateOpts{
    91  		ProjectID: "731fc6f265cd486d900f16e84c5cb594",
    92  		Type:      "ec2",
    93  		UserID:    "bb5476fd12884539b41d5a88f838d773",
    94  		Blob:      "{\"access\":\"181920\",\"secret\":\"secretKey\"}",
    95  	}
    96  
    97  	actual, err := credentials.Update(context.TODO(), client.ServiceClient(), "2441494e52ab6d594a34d74586075cb299489bdd1e9389e3ab06467a4f460609", updateOpts).Extract()
    98  	th.AssertNoErr(t, err)
    99  	th.CheckDeepEquals(t, SecondCredentialUpdated, *actual)
   100  }