github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/ces/v1/metricdata_test.go (about) 1 package v1 2 3 import ( 4 "strconv" 5 "testing" 6 "time" 7 8 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 9 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/openstack" 10 "github.com/opentelekomcloud/gophertelekomcloud/openstack/ces/v1/metricdata" 11 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 12 ) 13 14 func TestMetricData(t *testing.T) { 15 client, err := clients.NewCesV1Client() 16 th.AssertNoErr(t, err) 17 18 ecsClient, err := clients.NewComputeV1Client() 19 th.AssertNoErr(t, err) 20 21 ecs := openstack.CreateCloudServer(t, ecsClient, openstack.GetCloudServerCreateOpts(t)) 22 t.Cleanup(func() { 23 openstack.DeleteCloudServer(t, ecsClient, ecs.ID) 24 }) 25 26 old := time.Now().UnixMilli() 27 newOps := metricdata.MetricDataItem{ 28 Metric: metricdata.MetricInfo{ 29 Namespace: "MINE.APP", 30 MetricName: "cpu_util", 31 Dimensions: []metricdata.MetricsDimension{ 32 { 33 Name: "instance_id", 34 Value: ecs.ID, 35 }, 36 }, 37 }, 38 Ttl: 172800, 39 CollectTime: old, 40 Value: 0.09, 41 Unit: "%", 42 Type: "float", 43 } 44 45 err = metricdata.CreateMetricData(client, []metricdata.MetricDataItem{newOps}) 46 th.AssertNoErr(t, err) 47 48 batchOps := metricdata.BatchListMetricDataOpts{ 49 Metrics: []metricdata.Metric{ 50 { 51 Namespace: "MINE.APP", 52 MetricName: "cpu_util", 53 Dimensions: []metricdata.MetricsDimension{ 54 { 55 Name: "instance_id", 56 Value: ecs.ID, 57 }, 58 }, 59 }, 60 }, 61 From: old, 62 To: time.Now().UnixMilli(), 63 Period: "1", 64 Filter: "average", 65 } 66 67 batchData, err := metricdata.BatchListMetricData(client, batchOps) 68 th.AssertNoErr(t, err) 69 th.AssertEquals(t, len(batchData), 1) 70 71 metricOps := metricdata.ShowMetricDataOpts{ 72 Namespace: "SYS.ECS", 73 MetricName: "cpu_util", 74 Dim0: "instance_id," + ecs.ID, 75 Filter: "average", 76 Period: 1, 77 From: strconv.FormatInt(old, 10), 78 To: strconv.FormatInt(time.Now().UnixMilli(), 10), 79 } 80 81 metricData, err := metricdata.ShowMetricData(client, metricOps) 82 th.AssertNoErr(t, err) 83 th.AssertEquals(t, len(metricData.Datapoints), 0) 84 85 eventOps := metricdata.ShowEventDataOpts{ 86 Namespace: "SYS.ECS", 87 Dim0: "instance_id," + ecs.ID, 88 Type: "instance_host_info", 89 From: strconv.FormatInt(old, 10), 90 To: strconv.FormatInt(time.Now().UnixMilli(), 10), 91 } 92 93 event, err := metricdata.ListEventData(client, eventOps) 94 th.AssertNoErr(t, err) 95 th.AssertEquals(t, len(event), 0) 96 }