forked from TrueCloudLab/frostfs-s3-gw
[#604] Add MFADelete tests with reworked mfa.Storage implementation
Signed-off-by: Alex Vanin <a.vanin@yadro.com> Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
This commit is contained in:
parent
0fc56cbfce
commit
7d6e20fdad
17 changed files with 440 additions and 233 deletions
45
api/handler/versioning_test.go
Normal file
45
api/handler/versioning_test.go
Normal file
|
@ -0,0 +1,45 @@
|
|||
package handler
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-s3-gw/api/errors"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestVersioningWithMFADelete(t *testing.T) {
|
||||
bktName := "bucket-name"
|
||||
deviceName := "device"
|
||||
|
||||
hc := prepareHandlerContext(t)
|
||||
createBucket(hc, bktName)
|
||||
key := createMFADevice(hc, bktName, deviceName)
|
||||
|
||||
putBucketVersioningMFADeleteErr(hc, bktName, "", "Enabled", generateMFAHeader(key, deviceName), errors.GetAPIError(errors.ErrVersioningNotSpecified))
|
||||
putBucketVersioningMFADeleteErr(hc, bktName, "", "", "", errors.GetAPIError(errors.ErrVersioningNotSpecified))
|
||||
|
||||
// set MFA Delete status
|
||||
putBucketVersioningMFADelete(hc, bktName, "Suspended", "Enabled", generateMFAHeader(key, deviceName))
|
||||
require.Equal(t, "Enabled", getBucketVersioning(hc, bktName).MfaDelete)
|
||||
require.Equal(t, "Suspended", getBucketVersioning(hc, bktName).Status)
|
||||
|
||||
// try to change versioning without MFA Header
|
||||
putBucketVersioningMFADeleteErr(hc, bktName, "Enabled", "Enabled", "", errors.GetAPIError(errors.ErrInvalidMFAHeader))
|
||||
require.Equal(t, "Enabled", getBucketVersioning(hc, bktName).MfaDelete)
|
||||
require.Equal(t, "Suspended", getBucketVersioning(hc, bktName).Status)
|
||||
|
||||
// change versioning with MFA successfully
|
||||
putBucketVersioningMFADelete(hc, bktName, "Enabled", "Enabled", generateMFAHeader(key, deviceName))
|
||||
require.Equal(t, "Enabled", getBucketVersioning(hc, bktName).MfaDelete)
|
||||
require.Equal(t, "Enabled", getBucketVersioning(hc, bktName).Status)
|
||||
|
||||
// try to disable MFA without MFA Header
|
||||
putBucketVersioningMFADeleteErr(hc, bktName, "Enabled", "Disabled", "", errors.GetAPIError(errors.ErrInvalidMFAHeader))
|
||||
require.Equal(t, "Enabled", getBucketVersioning(hc, bktName).MfaDelete)
|
||||
require.Equal(t, "Enabled", getBucketVersioning(hc, bktName).Status)
|
||||
|
||||
// try to disable MFA successfully
|
||||
putBucketVersioningMFADelete(hc, bktName, "Enabled", "Disabled", generateMFAHeader(key, deviceName))
|
||||
require.Equal(t, "Disabled", getBucketVersioning(hc, bktName).MfaDelete)
|
||||
require.Equal(t, "Enabled", getBucketVersioning(hc, bktName).Status)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue