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 }