1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
package ess
import (
"testing"
"github.com/denverdino/aliyungo/common"
"github.com/denverdino/aliyungo/util"
)
func TestEssScalingRuleCreationAndDeletion(t *testing.T) {
if TestIAmRich == false {
// Avoid payment
return
}
client := NewTestClient(common.Region(RegionId))
cArgs := CreateScalingRuleArgs{
RegionId: common.Region(RegionId),
ScalingGroupId: ScalingGroupId,
AdjustmentType: TotalCapacity,
AdjustmentValue: 3,
ScalingRuleName: "srn",
}
csc, err := client.CreateScalingRule(&cArgs)
if err != nil {
t.Errorf("Failed to create scaling rule %v", err)
}
ruleId := csc.ScalingRuleId
t.Logf("Rule %s is created successfully.", ruleId)
mArgs := ModifyScalingRuleArgs{
RegionId: common.Region(RegionId),
ScalingRuleId: ruleId,
AdjustmentValue: 2,
ScalingRuleName: "srnm",
}
_, err = client.ModifyScalingRule(&mArgs)
if err != nil {
t.Errorf("Failed to modify scaling rule %v", err)
}
t.Logf("Rule %s is modify successfully.", ruleId)
eArgs := ExecuteScalingRuleArgs{
ScalingRuleAri: csc.ScalingRuleAri,
ClientToken: util.CreateRandomString(),
}
_, err = client.ExecuteScalingRule(&eArgs)
if err != nil {
t.Errorf("Failed to execute scaling rule: %v", err)
}
t.Logf("Rule %s is execute successfully.", ruleId)
sArgs := DescribeScalingRulesArgs{
RegionId: common.Region(RegionId),
ScalingGroupId: ScalingGroupId,
ScalingRuleId: []string{ruleId},
}
sResp, _, err := client.DescribeScalingRules(&sArgs)
if len(sResp) < 1 {
t.Fatalf("Failed to describe rules %s", ruleId)
}
rule := sResp[0]
t.Logf("Rule: %++v %v", rule, err)
dcArgs := DeleteScalingRuleArgs{
RegionId: common.Region(RegionId),
ScalingRuleId: ruleId,
}
_, err = client.DeleteScalingRule(&dcArgs)
if err != nil {
t.Errorf("Failed to delete scaling rule %v", err)
}
t.Logf("Rule %s is deleted successfully.", ruleId)
}
|