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: &ltsEnable,
    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  }