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  }