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
|
package ess
import (
"testing"
"github.com/denverdino/aliyungo/common"
)
func TestEssScalingGroupCreationAndDeletion(t *testing.T) {
if TestIAmRich == false {
// Avoid payment
return
}
client := NewTestClient(common.Region(RegionId))
maxSize := 1
minSize := 1
args := CreateScalingGroupArgs{
RegionId: common.Region(RegionId),
ScalingGroupName: "test_sg",
MaxSize: &maxSize,
MinSize: &minSize,
RemovalPolicy: []string{"OldestInstance", "NewestInstance"},
}
resp, err := client.CreateScalingGroup(&args)
if err != nil {
t.Errorf("Failed to create scaling group %v", err)
}
instanceId := resp.ScalingGroupId
t.Logf("Instance %s is created successfully.", instanceId)
defaultCooldown := 200
mArgs := ModifyScalingGroupArgs{
ScalingGroupId: instanceId,
ScalingGroupName: "sg_modify",
DefaultCooldown: &defaultCooldown,
}
_, err = client.ModifyScalingGroup(&mArgs)
if err != nil {
t.Errorf("Failed to modify scaling group %v", err)
}
arrtArgs := DescribeScalingGroupsArgs{
RegionId: common.Region(RegionId),
ScalingGroupId: []string{instanceId},
}
attrResp, _, err := client.DescribeScalingGroups(&arrtArgs)
t.Logf("Instance: %++v %v", attrResp[0], err)
iArgs := DescribeScalingInstancesArgs{
RegionId: common.Region(RegionId),
ScalingGroupId: instanceId,
}
iResp, _, err := client.DescribeScalingInstances(&iArgs)
if len(iResp) < 1 {
t.Logf("Scaling ecs instances empty.")
} else {
t.Logf("ECS: %++v %v", iResp[0], err)
}
dArgs := DeleteScalingGroupArgs{
ScalingGroupId: instanceId,
ForceDelete: true,
}
_, err = client.DeleteScalingGroup(&dArgs)
if err != nil {
t.Errorf("Failed to delete instance %s: %v", instanceId, err)
}
t.Logf("Instance %s is deleted successfully.", instanceId)
}
|