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 }