github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/cts/v3/trackers_test.go (about) 1 package v3 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 8 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/openstack/cts" 9 "github.com/opentelekomcloud/gophertelekomcloud/openstack/cts/v3/tracker" 10 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 11 ) 12 13 func TestTrackersLifecycle(t *testing.T) { 14 if os.Getenv("RUN_CTS_TRACKER") == "" { 15 t.Skip("unstable test") 16 } 17 client, err := clients.NewCTSV3Client() 18 th.AssertNoErr(t, err) 19 20 bucketName := cts.CreateOBSBucket(t) 21 t.Cleanup(func() { 22 cts.DeleteOBSBucket(t, bucketName) 23 }) 24 25 t.Logf("Attempting to create CTSv3 Tracker") 26 ctsTracker, err := tracker.Create(client, tracker.CreateOpts{ 27 TrackerType: "system", 28 TrackerName: "system", 29 IsLtsEnabled: true, 30 ObsInfo: tracker.ObsInfo{ 31 BucketName: bucketName, 32 FilePrefixName: "test-prefix", 33 }, 34 }) 35 36 t.Cleanup(func() { 37 t.Logf("Attempting to delete CTSv3 Tracker: %s", ctsTracker.TrackerName) 38 err := tracker.Delete(client, ctsTracker.TrackerName) 39 th.AssertNoErr(t, err) 40 t.Logf("Deleted CTSv3 Tracker: %s", ctsTracker.TrackerName) 41 }) 42 43 th.AssertNoErr(t, err) 44 t.Logf("Created CTSv3 Tracker: %s", ctsTracker.TrackerName) 45 th.AssertEquals(t, true, ctsTracker.Lts.IsLtsEnabled) 46 th.AssertEquals(t, "enabled", ctsTracker.Status) 47 th.AssertEquals(t, false, *ctsTracker.ObsInfo.IsObsCreated) 48 th.AssertEquals(t, bucketName, ctsTracker.ObsInfo.BucketName) 49 50 t.Logf("Attempting to update CTSv3 Tracker: %s", ctsTracker.TrackerName) 51 ltsEnable := false 52 _, err = tracker.Update(client, tracker.UpdateOpts{ 53 TrackerName: "system", 54 TrackerType: "system", 55 Status: "enabled", 56 IsLtsEnabled: <sEnable, 57 ObsInfo: tracker.ObsInfo{ 58 FilePrefixName: "test-2-", 59 }, 60 }) 61 th.AssertNoErr(t, err) 62 t.Logf("Updated CTSv1 Tracker: %s", ctsTracker.TrackerName) 63 64 trackerList, err := tracker.List(client, ctsTracker.TrackerName) 65 th.AssertNoErr(t, err) 66 trackerGet := trackerList[0] 67 th.AssertEquals(t, trackerGet.TrackerType, "system") 68 th.AssertEquals(t, trackerGet.TrackerName, "system") 69 th.AssertEquals(t, trackerGet.Status, "enabled") 70 // if tracker is disabled LTS status can't be changed 71 th.AssertEquals(t, trackerGet.Lts.IsLtsEnabled, false) 72 th.AssertEquals(t, trackerGet.ObsInfo.FilePrefixName, "test-2-") 73 }