func runTests(t *testing.T, svc *s3.S3, tests []s3BucketTest) { for _, test := range tests { req, _ := svc.ListObjectsRequest(&s3.ListObjectsInput{Bucket: &test.bucket}) req.Build() assert.Equal(t, test.url, req.HTTPRequest.URL.String()) } }
func cleanupBucketObject(bucket, key, version string, S3 *s3.S3) { req := &s3.DeleteObjectInput{ Bucket: aws.String(bucket), Key: aws.String(key), VersionID: aws.String(version), } _, err := S3.DeleteObject(req) if err != nil { fmt.Printf("error: %s\n", err) } }
func cleanupBucket(bucket string, S3 *s3.S3) error { req := &s3.ListObjectVersionsInput{ Bucket: aws.String(bucket), } res, err := S3.ListObjectVersions(req) if err != nil { return err } for _, d := range res.DeleteMarkers { go cleanupBucketObject(bucket, *d.Key, *d.VersionID, S3) } for _, v := range res.Versions { go cleanupBucketObject(bucket, *v.Key, *v.VersionID, S3) } return nil }