github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/ces/v1/alarms_test.go (about) 1 package v1 2 3 import ( 4 "testing" 5 6 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 7 "github.com/opentelekomcloud/gophertelekomcloud/openstack/ces/v1/alarms" 8 "github.com/opentelekomcloud/gophertelekomcloud/openstack/common/pointerto" 9 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 10 ) 11 12 func TestAlarms(t *testing.T) { 13 client, err := clients.NewCesV1Client() 14 th.AssertNoErr(t, err) 15 16 alarmsRes, err := alarms.ListAlarms(client, alarms.ListAlarmsOpts{ 17 Limit: 10, 18 Order: "desc", 19 }) 20 21 th.AssertNoErr(t, err) 22 th.AssertEquals(t, alarmsRes.MetaData.Count <= 10, true) 23 24 newAlarm, err := alarms.CreateAlarm(client, alarms.CreateAlarmOpts{ 25 AlarmName: "alarm-acc-test", 26 AlarmType: "EVENT.CUSTOM", 27 Metric: alarms.MetricForAlarm{ 28 Namespace: "SYS.VPC", 29 MetricName: "upstream_bandwidth", 30 Dimensions: []alarms.MetricsDimension{ 31 { 32 Name: "bandwidth_id", 33 Value: "026c495c-fake-test-8b11-a113ba530d11", 34 }, 35 }, 36 }, 37 Condition: alarms.Condition{ 38 ComparisonOperator: ">=", 39 Count: 3, 40 Filter: "average", 41 Period: 300, 42 Value: 4000000, 43 SuppressDuration: 300, 44 }, 45 AlarmEnabled: pointerto.Bool(false), 46 AlarmActionEnabled: pointerto.Bool(false), 47 }) 48 th.AssertNoErr(t, err) 49 50 t.Cleanup(func() { 51 err = alarms.DeleteAlarm(client, newAlarm) 52 th.AssertNoErr(t, err) 53 }) 54 55 err = alarms.UpdateAlarmAction(client, newAlarm, alarms.ModifyAlarmActionRequest{ 56 AlarmEnabled: true, 57 }) 58 th.AssertNoErr(t, err) 59 60 showAlarm, err := alarms.ShowAlarm(client, newAlarm) 61 th.AssertNoErr(t, err) 62 th.AssertEquals(t, showAlarm[0].AlarmEnabled, true) 63 64 _, err = alarms.ListAlarms(client, alarms.ListAlarmsOpts{}) 65 th.AssertNoErr(t, err) 66 }