github.com/gophercloud/gophercloud@v1.11.0/openstack/keymanager/v1/secrets/testing/requests_test.go (about)

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