github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/cts/helpers.go (about) 1 package cts 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 8 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools" 9 "github.com/opentelekomcloud/gophertelekomcloud/openstack/obs" 10 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 11 ) 12 13 func CreateOBSBucket(t *testing.T) string { 14 t.Logf("Attempting to create OBS bucket") 15 client, err := clients.NewOBSClientWithoutHeader() 16 th.AssertNoErr(t, err) 17 bucketName := strings.ToLower(tools.RandomString("obs-cts-test", 5)) 18 19 createOpts := &obs.CreateBucketInput{ 20 Bucket: bucketName, 21 ACL: "public-read", 22 } 23 24 _, err = client.CreateBucket(createOpts) 25 th.AssertNoErr(t, err) 26 27 t.Logf("Created OBS Bucket: %s", bucketName) 28 29 return bucketName 30 } 31 32 func DeleteOBSBucket(t *testing.T, bucketName string) { 33 t.Logf("Attempting to delete OBS bucket: %s", bucketName) 34 client, err := clients.NewOBSClientWithoutHeader() 35 th.AssertNoErr(t, err) 36 37 input := &obs.ListObjectsInput{} 38 input.Bucket = bucketName 39 40 objectsList, err := client.ListObjects(input) 41 th.AssertNoErr(t, err) 42 43 if len(objectsList.Contents) > 0 { 44 objects := make([]obs.ObjectToDelete, len(objectsList.Contents)) 45 for i, content := range objectsList.Contents { 46 objects[i].Key = content.Key 47 } 48 deleteOpts := &obs.DeleteObjectsInput{ 49 Bucket: bucketName, 50 Objects: objects, 51 } 52 _, err = client.DeleteObjects(deleteOpts) 53 th.AssertNoErr(t, err) 54 t.Logf("Deleted OBS Bucket objects: %s", objects) 55 } 56 57 _, err = client.DeleteBucket(bucketName) 58 th.AssertNoErr(t, err) 59 t.Logf("Deleted OBS Bucket: %s", bucketName) 60 }