mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-11-24 16:53:14 +08:00
adjust test
This commit is contained in:
@@ -27,22 +27,32 @@ func TestBucketDeletionWithObjectLock(t *testing.T) {
|
|||||||
retentionTestCases := []struct {
|
retentionTestCases := []struct {
|
||||||
name string
|
name string
|
||||||
lockMode types.ObjectLockMode
|
lockMode types.ObjectLockMode
|
||||||
|
key string
|
||||||
|
content string
|
||||||
}{
|
}{
|
||||||
{name: "ComplianceRetention", lockMode: types.ObjectLockModeCompliance},
|
{
|
||||||
{name: "GovernanceRetention", lockMode: types.ObjectLockModeGovernance},
|
name: "ComplianceRetention",
|
||||||
|
lockMode: types.ObjectLockModeCompliance,
|
||||||
|
key: "test-compliance-retention",
|
||||||
|
content: "test content for compliance retention",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "GovernanceRetention",
|
||||||
|
lockMode: types.ObjectLockModeGovernance,
|
||||||
|
key: "test-governance-retention",
|
||||||
|
content: "test content for governance retention",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range retentionTestCases {
|
for _, tc := range retentionTestCases {
|
||||||
t.Run(fmt.Sprintf("CannotDeleteBucketWith%s", tc.name), func(t *testing.T) {
|
t.Run(fmt.Sprintf("CannotDeleteBucketWith%s", tc.name), func(t *testing.T) {
|
||||||
key := fmt.Sprintf("test-%s", strings.ToLower(strings.ReplaceAll(tc.name, "Retention", "-retention")))
|
|
||||||
content := fmt.Sprintf("test content for %s", strings.ToLower(tc.name))
|
|
||||||
retainUntilDate := time.Now().Add(10 * time.Second) // 10 seconds in future
|
retainUntilDate := time.Now().Add(10 * time.Second) // 10 seconds in future
|
||||||
|
|
||||||
// Upload object with retention
|
// Upload object with retention
|
||||||
_, err := client.PutObject(context.Background(), &s3.PutObjectInput{
|
_, err := client.PutObject(context.Background(), &s3.PutObjectInput{
|
||||||
Bucket: aws.String(bucketName),
|
Bucket: aws.String(bucketName),
|
||||||
Key: aws.String(key),
|
Key: aws.String(tc.key),
|
||||||
Body: strings.NewReader(content),
|
Body: strings.NewReader(tc.content),
|
||||||
ObjectLockMode: tc.lockMode,
|
ObjectLockMode: tc.lockMode,
|
||||||
ObjectLockRetainUntilDate: aws.Time(retainUntilDate),
|
ObjectLockRetainUntilDate: aws.Time(retainUntilDate),
|
||||||
})
|
})
|
||||||
@@ -63,7 +73,7 @@ func TestBucketDeletionWithObjectLock(t *testing.T) {
|
|||||||
// Delete the object
|
// Delete the object
|
||||||
_, err = client.DeleteObject(context.Background(), &s3.DeleteObjectInput{
|
_, err = client.DeleteObject(context.Background(), &s3.DeleteObjectInput{
|
||||||
Bucket: aws.String(bucketName),
|
Bucket: aws.String(bucketName),
|
||||||
Key: aws.String(key),
|
Key: aws.String(tc.key),
|
||||||
})
|
})
|
||||||
require.NoError(t, err, "DeleteObject should succeed after retention expires")
|
require.NoError(t, err, "DeleteObject should succeed after retention expires")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user