123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package ecs
- import (
- "testing"
- "github.com/denverdino/aliyungo/common"
- )
- func TestImageCreationAndDeletion(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)
- }
- if len(snapshots) > 0 {
- createImageArgs := CreateImageArgs{
- RegionId: instance.RegionId,
- SnapshotId: snapshots[0].SnapshotId,
- ImageName: "My_Test_Image_for_AliyunGo",
- ImageVersion: "1.0",
- Description: "My Test Image for AliyunGo description",
- ClientToken: client.GenerateClientToken(),
- }
- imageId, err := client.CreateImage(&createImageArgs)
- if err != nil {
- t.Errorf("Failed to CreateImage for SnapshotId %s: %v", createImageArgs.SnapshotId, err)
- }
- t.Logf("Image %s is created successfully.", imageId)
- err = client.DeleteImage(instance.RegionId, imageId)
- if err != nil {
- t.Errorf("Failed to DeleteImage for %s: %v", imageId, err)
- }
- t.Logf("Image %s is deleted successfully.", imageId)
- }
- }
- func TestModifyImageSharePermission(t *testing.T) {
- req := ModifyImageSharePermissionArgs{
- RegionId: common.Beijing,
- ImageId: TestImageId,
- AddAccount: []string{TestAccountId},
- }
- client := NewTestClient()
- err := client.ModifyImageSharePermission(&req)
- if err != nil {
- t.Errorf("Failed to ShareImage: %v", err)
- }
- shareInfo, err := client.DescribeImageSharePermission(&req)
- if err != nil {
- t.Errorf("Failed to ShareImage: %v", err)
- }
- t.Logf("result:image: %++v", shareInfo)
- }
- func TestCopyImage(t *testing.T) {
- client := NewTestClient()
- req := CopyImageArgs{
- RegionId: common.Beijing,
- ImageId: TestImageId,
- DestinationRegionId: common.Hangzhou,
- DestinationImageName: "My_Test_Image_NAME_for_AliyunGo",
- DestinationDescription: "My Test Image for AliyunGo description",
- ClientToken: client.GenerateClientToken(),
- }
- imageId, err := client.CopyImage(&req)
- if err != nil {
- t.Errorf("Failed to CopyImage: %v", err)
- }
- t.Logf("result:image: %++v", imageId)
- if err := client.WaitForImageReady(common.Hangzhou, imageId, 600); err != nil {
- t.Errorf("Failed to WaitImage: %v", err)
- //return
- }
- describeReq := DescribeImagesArgs{
- RegionId: common.Hangzhou,
- ImageId: imageId,
- Status: ImageStatusAvailable,
- ImageOwnerAlias: ImageOwnerSelf,
- }
- images, _, err := client.DescribeImages(&describeReq)
- if err != nil {
- t.Errorf("Failed to describeImage: %v", err)
- }
- t.Logf("result: images %++v", images)
- }
- func TestCancelCopyImage(t *testing.T) {
- client := NewTestClient()
- if err := client.CancelCopyImage(common.Hangzhou, TestImageId); err != nil {
- t.Errorf("Failed to CancelCopyImage: %v", err)
- }
- }
|