github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/lts/v2/lts_test.go (about) 1 package v2 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/lts/v2/groups" 10 "github.com/opentelekomcloud/gophertelekomcloud/openstack/lts/v2/streams" 11 "github.com/opentelekomcloud/gophertelekomcloud/openstack/lts/v2/transfers" 12 "github.com/opentelekomcloud/gophertelekomcloud/openstack/obs" 13 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 14 ) 15 16 func TestLtsLifecycle(t *testing.T) { 17 client, err := clients.NewLtsV2Client() 18 th.AssertNoErr(t, err) 19 20 name := tools.RandomString("test-group-", 3) 21 createOpts := groups.CreateOpts{ 22 LogGroupName: name, 23 TTLInDays: 7, 24 } 25 26 created, err := groups.CreateLogGroup(client, createOpts) 27 th.AssertNoErr(t, err) 28 29 t.Cleanup(func() { 30 err = groups.DeleteLogGroup(client, created) 31 th.AssertNoErr(t, err) 32 }) 33 34 group, err := groups.UpdateLogGroup(client, groups.UpdateLogGroupOpts{ 35 LogGroupId: created, 36 TTLInDays: 3, 37 }) 38 th.AssertNoErr(t, err) 39 th.AssertEquals(t, 3, group.TTLInDays) 40 41 got, err := groups.ListLogGroups(client) 42 th.AssertNoErr(t, err) 43 th.AssertEquals(t, true, len(got) > 0) 44 tools.PrintResource(t, got) 45 46 sname := tools.RandomString("test-stream-", 3) 47 stream, err := streams.CreateLogStream(client, streams.CreateOpts{ 48 GroupId: created, 49 LogStreamName: sname, 50 }) 51 th.AssertNoErr(t, err) 52 53 t.Cleanup(func() { 54 err = streams.DeleteLogStream(client, streams.DeleteOpts{ 55 GroupId: created, 56 StreamId: stream, 57 }) 58 th.AssertNoErr(t, err) 59 }) 60 61 slist, err := streams.ListLogStream(client, created) 62 th.AssertNoErr(t, err) 63 th.AssertEquals(t, true, len(slist) > 0) 64 tools.PrintResource(t, slist) 65 } 66 67 func TestLtsTransferLifecycle(t *testing.T) { 68 client, err := clients.NewLtsV2Client() 69 th.AssertNoErr(t, err) 70 71 name := tools.RandomString("test-group-", 3) 72 createOpts := groups.CreateOpts{ 73 LogGroupName: name, 74 TTLInDays: 7, 75 } 76 77 logId, err := groups.CreateLogGroup(client, createOpts) 78 th.AssertNoErr(t, err) 79 80 t.Cleanup(func() { 81 err = groups.DeleteLogGroup(client, logId) 82 th.AssertNoErr(t, err) 83 }) 84 85 sname := tools.RandomString("test-stream-", 3) 86 streamId, err := streams.CreateLogStream(client, streams.CreateOpts{ 87 GroupId: logId, 88 LogStreamName: sname, 89 }) 90 th.AssertNoErr(t, err) 91 92 t.Cleanup(func() { 93 err = streams.DeleteLogStream(client, streams.DeleteOpts{ 94 GroupId: logId, 95 StreamId: streamId, 96 }) 97 th.AssertNoErr(t, err) 98 }) 99 100 obsClient, err := clients.NewOBSClient() 101 th.AssertNoErr(t, err) 102 103 bucketName := strings.ToLower(tools.RandomString("obs-test", 5)) 104 105 _, err = obsClient.CreateBucket(&obs.CreateBucketInput{ 106 Bucket: bucketName, 107 }) 108 t.Cleanup(func() { 109 _, err = obsClient.DeleteBucket(bucketName) 110 th.AssertNoErr(t, err) 111 }) 112 th.AssertNoErr(t, err) 113 114 switchOn := false 115 createTransferOpts := transfers.CreateLogDumpObsOpts{ 116 LogGroupId: logId, 117 LogStreamIds: []string{ 118 streamId, 119 }, 120 ObsBucketName: bucketName, 121 Type: "cycle", 122 StorageFormat: "RAW", 123 SwitchOn: &switchOn, 124 PrefixName: "test", 125 DirPrefixName: "dir-test", 126 Period: 3, 127 PeriodUnit: "hour", 128 } 129 logDumpId, err := transfers.CreateLogDumpObs(client, createTransferOpts) 130 th.AssertNoErr(t, err) 131 t.Logf("Obs log dump created, id: %s", logDumpId) 132 133 // GET API is currently not working 134 135 listLogs, err := transfers.ListTransfers(client, transfers.ListTransfersOpts{}) 136 th.AssertNoErr(t, err) 137 tools.PrintResource(t, listLogs) 138 if len(listLogs) < 1 { 139 t.Error("Log dump wasn't found") 140 } 141 142 err = transfers.DeleteTransfer(client, logDumpId) 143 th.AssertNoErr(t, err) 144 }