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
|
package ecs
import (
"testing"
)
func TestSnapshot(t *testing.T) {
client := NewTestClient()
instance, err := client.DescribeInstanceAttribute(TestInstanceId)
if err != nil {
t.Fatalf("Failed to DescribeInstanceAttribute for instance %s: %v", TestInstanceId, err)
}
args := DescribeSnapshotsArgs{}
args.InstanceId = TestInstanceId
args.RegionId = instance.RegionId
snapshots, _, err := client.DescribeSnapshots(&args)
if err != nil {
t.Errorf("Failed to DescribeSnapshots for instance %s: %v", TestInstanceId, err)
}
for _, snapshot := range snapshots {
t.Logf("Snapshot of instance %s: %++v", TestInstanceId, snapshot)
}
}
func TestSnapshotCreationAndDeletion(t *testing.T) {
if TestQuick {
return
}
client := NewTestClient()
instance, err := client.DescribeInstanceAttribute(TestInstanceId)
if err != nil {
t.Fatalf("Failed to DescribeInstanceAttribute for instance %s: %v", TestInstanceId, err)
}
//Describe disk monitor data
diskArgs := DescribeDisksArgs{
InstanceId: TestInstanceId,
RegionId: instance.RegionId,
}
disks, _, err := client.DescribeDisks(&diskArgs)
if err != nil {
t.Fatalf("Failed to DescribeDisks for instance %s: %v", TestInstanceId, err)
}
diskId := disks[0].DiskId
args := CreateSnapshotArgs{
DiskId: diskId,
SnapshotName: "My_Test_Snapshot",
Description: "My Test Snapshot Description",
ClientToken: client.GenerateClientToken(),
}
snapshotId, err := client.CreateSnapshot(&args)
if err != nil {
t.Errorf("Failed to CreateSnapshot for disk %s: %v", diskId, err)
}
client.WaitForSnapShotReady(instance.RegionId, snapshotId, 0)
err = client.DeleteSnapshot(snapshotId)
if err != nil {
t.Errorf("Failed to DeleteSnapshot for disk %s: %v", diskId, err)
}
t.Logf("Snapshot %s is deleted successfully.", snapshotId)
}
|