github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/keymanager/v1/secrets/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  	"time"
     7  
     8  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/keymanager/v1/secrets"
     9  	"github.com/vnpaycloud-console/gophercloud/v2/pagination"
    10  	th "github.com/vnpaycloud-console/gophercloud/v2/testhelper"
    11  	"github.com/vnpaycloud-console/gophercloud/v2/testhelper/client"
    12  )
    13  
    14  func TestListSecrets(t *testing.T) {
    15  	th.SetupHTTP()
    16  	defer th.TeardownHTTP()
    17  	HandleListSecretsSuccessfully(t)
    18  
    19  	count := 0
    20  	err := secrets.List(client.ServiceClient(), nil).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
    21  		count++
    22  
    23  		actual, err := secrets.ExtractSecrets(page)
    24  		th.AssertNoErr(t, err)
    25  
    26  		th.AssertDeepEquals(t, ExpectedSecretsSlice, actual)
    27  
    28  		return true, nil
    29  	})
    30  	th.AssertNoErr(t, err)
    31  	th.AssertEquals(t, count, 1)
    32  }
    33  
    34  func TestListSecretsAllPages(t *testing.T) {
    35  	th.SetupHTTP()
    36  	defer th.TeardownHTTP()
    37  	HandleListSecretsSuccessfully(t)
    38  
    39  	allPages, err := secrets.List(client.ServiceClient(), nil).AllPages(context.TODO())
    40  	th.AssertNoErr(t, err)
    41  	actual, err := secrets.ExtractSecrets(allPages)
    42  	th.AssertNoErr(t, err)
    43  	th.AssertDeepEquals(t, ExpectedSecretsSlice, actual)
    44  }
    45  
    46  func TestGetSecret(t *testing.T) {
    47  	th.SetupHTTP()
    48  	defer th.TeardownHTTP()
    49  	HandleGetSecretSuccessfully(t)
    50  
    51  	actual, err := secrets.Get(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c").Extract()
    52  	th.AssertNoErr(t, err)
    53  	th.AssertDeepEquals(t, FirstSecret, *actual)
    54  }
    55  
    56  func TestCreateSecret(t *testing.T) {
    57  	th.SetupHTTP()
    58  	defer th.TeardownHTTP()
    59  	HandleCreateSecretSuccessfully(t)
    60  
    61  	expiration := time.Date(2028, 6, 21, 2, 49, 48, 0, time.UTC)
    62  	createOpts := secrets.CreateOpts{
    63  		Algorithm:          "aes",
    64  		BitLength:          256,
    65  		Mode:               "cbc",
    66  		Name:               "mysecret",
    67  		Payload:            "foobar",
    68  		PayloadContentType: "text/plain",
    69  		SecretType:         secrets.OpaqueSecret,
    70  		Expiration:         &expiration,
    71  	}
    72  
    73  	actual, err := secrets.Create(context.TODO(), client.ServiceClient(), createOpts).Extract()
    74  	th.AssertNoErr(t, err)
    75  	th.AssertDeepEquals(t, ExpectedCreateResult, *actual)
    76  }
    77  
    78  func TestDeleteSecret(t *testing.T) {
    79  	th.SetupHTTP()
    80  	defer th.TeardownHTTP()
    81  	HandleDeleteSecretSuccessfully(t)
    82  
    83  	res := secrets.Delete(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c")
    84  	th.AssertNoErr(t, res.Err)
    85  }
    86  
    87  func TestUpdateSecret(t *testing.T) {
    88  	th.SetupHTTP()
    89  	defer th.TeardownHTTP()
    90  	HandleUpdateSecretSuccessfully(t)
    91  
    92  	updateOpts := secrets.UpdateOpts{
    93  		Payload: "foobar",
    94  	}
    95  
    96  	err := secrets.Update(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c", updateOpts).ExtractErr()
    97  	th.AssertNoErr(t, err)
    98  }
    99  
   100  func TestGetPayloadSecret(t *testing.T) {
   101  	th.SetupHTTP()
   102  	defer th.TeardownHTTP()
   103  	HandleGetPayloadSuccessfully(t)
   104  
   105  	res := secrets.GetPayload(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c", nil)
   106  	th.AssertNoErr(t, res.Err)
   107  	payload, err := res.Extract()
   108  	th.AssertNoErr(t, err)
   109  	th.AssertDeepEquals(t, GetPayloadResponse, string(payload))
   110  }
   111  
   112  func TestGetMetadataSuccessfully(t *testing.T) {
   113  	th.SetupHTTP()
   114  	defer th.TeardownHTTP()
   115  	HandleGetMetadataSuccessfully(t)
   116  
   117  	actual, err := secrets.GetMetadata(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c").Extract()
   118  	th.AssertNoErr(t, err)
   119  	th.AssertDeepEquals(t, ExpectedMetadata, actual)
   120  }
   121  
   122  func TestCreateMetadataSuccessfully(t *testing.T) {
   123  	th.SetupHTTP()
   124  	defer th.TeardownHTTP()
   125  	HandleCreateMetadataSuccessfully(t)
   126  
   127  	createOpts := secrets.MetadataOpts{
   128  		"foo":       "bar",
   129  		"something": "something else",
   130  	}
   131  
   132  	actual, err := secrets.CreateMetadata(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c", createOpts).Extract()
   133  	th.AssertNoErr(t, err)
   134  	th.AssertDeepEquals(t, ExpectedCreateMetadataResult, actual)
   135  }
   136  
   137  func TestGetMetadatumSuccessfully(t *testing.T) {
   138  	th.SetupHTTP()
   139  	defer th.TeardownHTTP()
   140  	HandleGetMetadatumSuccessfully(t)
   141  
   142  	actual, err := secrets.GetMetadatum(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c", "foo").Extract()
   143  	th.AssertNoErr(t, err)
   144  	th.AssertDeepEquals(t, ExpectedMetadatum, *actual)
   145  }
   146  
   147  func TestCreateMetadatumSuccessfully(t *testing.T) {
   148  	th.SetupHTTP()
   149  	defer th.TeardownHTTP()
   150  	HandleCreateMetadatumSuccessfully(t)
   151  
   152  	createOpts := secrets.MetadatumOpts{
   153  		Key:   "foo",
   154  		Value: "bar",
   155  	}
   156  
   157  	err := secrets.CreateMetadatum(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c", createOpts).ExtractErr()
   158  	th.AssertNoErr(t, err)
   159  }
   160  
   161  func TestUpdateMetadatumSuccessfully(t *testing.T) {
   162  	th.SetupHTTP()
   163  	defer th.TeardownHTTP()
   164  	HandleUpdateMetadatumSuccessfully(t)
   165  
   166  	updateOpts := secrets.MetadatumOpts{
   167  		Key:   "foo",
   168  		Value: "bar",
   169  	}
   170  
   171  	actual, err := secrets.UpdateMetadatum(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c", updateOpts).Extract()
   172  	th.AssertNoErr(t, err)
   173  	th.AssertDeepEquals(t, ExpectedMetadatum, *actual)
   174  }
   175  
   176  func TestDeleteMetadatumSuccessfully(t *testing.T) {
   177  	th.SetupHTTP()
   178  	defer th.TeardownHTTP()
   179  	HandleDeleteMetadatumSuccessfully(t)
   180  
   181  	err := secrets.DeleteMetadatum(context.TODO(), client.ServiceClient(), "1b8068c4-3bb6-4be6-8f1e-da0d1ea0b67c", "foo").ExtractErr()
   182  	th.AssertNoErr(t, err)
   183  }