github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/cts/v1/trackers_test.go (about)

     1  package v1
     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/common/pointerto"
    10  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/cts/v1/tracker"
    11  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    12  )
    13  
    14  func TestTrackersLifecycle(t *testing.T) {
    15  	if os.Getenv("RUN_CTS_TRACKER") == "" {
    16  		t.Skip("unstable test")
    17  	}
    18  	client, err := clients.NewCTSV1Client()
    19  	th.AssertNoErr(t, err)
    20  
    21  	bucketName := cts.CreateOBSBucket(t)
    22  	t.Cleanup(func() {
    23  		cts.DeleteOBSBucket(t, bucketName)
    24  	})
    25  
    26  	t.Logf("Attempting to create CTSv1 Tracker")
    27  	ctsTracker, err := tracker.Create(client, tracker.CreateOpts{
    28  		BucketName: bucketName,
    29  		Lts: tracker.CreateLts{
    30  			IsLtsEnabled: pointerto.Bool(true),
    31  		},
    32  	})
    33  
    34  	t.Cleanup(func() {
    35  		t.Logf("Attempting to delete CTSv1 Tracker: %s", ctsTracker.TrackerName)
    36  		err := tracker.Delete(client, ctsTracker.TrackerName)
    37  		th.AssertNoErr(t, err)
    38  		t.Logf("Deleted CTSv1 Tracker: %s", ctsTracker.TrackerName)
    39  	})
    40  
    41  	th.AssertNoErr(t, err)
    42  	t.Logf("Created CTSv1 Tracker: %s", ctsTracker.TrackerName)
    43  	th.AssertEquals(t, true, ctsTracker.Lts.IsLtsEnabled)
    44  	th.AssertEquals(t, "enabled", ctsTracker.Status)
    45  
    46  	t.Logf("Attempting to update CTSv1 Tracker: %s", ctsTracker.TrackerName)
    47  	_, err = tracker.Update(client, tracker.UpdateOpts{
    48  		BucketName: bucketName,
    49  		Status:     "disabled",
    50  	}, ctsTracker.TrackerName)
    51  	th.AssertNoErr(t, err)
    52  	t.Logf("Updated CTSv1 Tracker: %s", ctsTracker.TrackerName)
    53  
    54  	trackerList, err := tracker.Get(client, ctsTracker.TrackerName)
    55  	th.AssertNoErr(t, err)
    56  
    57  	th.AssertEquals(t, tracker.UpdateOpts{
    58  		BucketName: bucketName,
    59  		Status:     "disabled",
    60  	}.Status, trackerList.Status)
    61  }