Skip to content

Commit 3accd57

Browse files
ekristencorybekk
authored andcommitted
test(s3-bucket): fix integration test for bypass governance
1 parent 16a24d3 commit 3accd57

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

resources/s3-bucket_test.go

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"testing"
1010
"time"
1111

12+
"github.com/gotidy/ptr"
1213
"github.com/stretchr/testify/assert"
1314
"github.com/stretchr/testify/suite"
1415

@@ -21,13 +22,13 @@ import (
2122
"github.com/ekristen/aws-nuke/v3/pkg/awsmod"
2223
)
2324

24-
type TestS3BucketObjectLockSuite struct {
25+
type TestS3BucketSuite struct {
2526
suite.Suite
2627
bucket string
2728
svc *s3.S3
2829
}
2930

30-
func (suite *TestS3BucketObjectLockSuite) SetupSuite() {
31+
func (suite *TestS3BucketSuite) SetupSuite() {
3132
var err error
3233

3334
suite.bucket = fmt.Sprintf("aws-nuke-testing-bucket-%d", time.Now().UnixNano())
@@ -89,7 +90,7 @@ func (suite *TestS3BucketObjectLockSuite) SetupSuite() {
8990
}
9091
}
9192

92-
func (suite *TestS3BucketObjectLockSuite) TearDownSuite() {
93+
func (suite *TestS3BucketSuite) TearDownSuite() {
9394
iterator := newS3DeleteVersionListIterator(suite.svc, &s3.ListObjectVersionsInput{
9495
Bucket: &suite.bucket,
9596
}, true)
@@ -118,6 +119,10 @@ func (suite *TestS3BucketObjectLockSuite) TearDownSuite() {
118119
}
119120
}
120121

122+
type TestS3BucketObjectLockSuite struct {
123+
TestS3BucketSuite
124+
}
125+
121126
func (suite *TestS3BucketObjectLockSuite) TestS3BucketObjectLock() {
122127
// Verify the object lock configuration
123128
result, err := suite.svc.GetObjectLockConfiguration(&s3.GetObjectLockConfigurationInput{
@@ -144,11 +149,16 @@ func (suite *TestS3BucketObjectLockSuite) TestS3BucketRemove() {
144149
assert.Error(suite.T(), err)
145150
}
146151

147-
func (suite *TestS3BucketObjectLockSuite) TestS3BucketRemoveWithBypass() {
152+
type TestS3BucketBypassGovernanceSuite struct {
153+
TestS3BucketSuite
154+
}
155+
156+
func (suite *TestS3BucketBypassGovernanceSuite) TestS3BucketRemoveWithBypass() {
148157
// Create the S3Bucket object
149158
bucket := &S3Bucket{
150-
svc: suite.svc,
151-
name: suite.bucket,
159+
svc: suite.svc,
160+
name: suite.bucket,
161+
ObjectLock: ptr.String("Enabled"),
152162
settings: &libsettings.Setting{
153163
"BypassGovernanceRetention": true,
154164
},
@@ -161,3 +171,7 @@ func (suite *TestS3BucketObjectLockSuite) TestS3BucketRemoveWithBypass() {
161171
func TestS3BucketObjectLock(t *testing.T) {
162172
suite.Run(t, new(TestS3BucketObjectLockSuite))
163173
}
174+
175+
func TestS3BucketBypassGovernance(t *testing.T) {
176+
suite.Run(t, new(TestS3BucketBypassGovernanceSuite))
177+
}

0 commit comments

Comments
 (0)