client_test.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package ecs
  2. import (
  3. "testing"
  4. )
  5. func TestGenerateClientToken(t *testing.T) {
  6. client := NewTestClient()
  7. for i := 0; i < 10; i++ {
  8. t.Log("GenerateClientToken: ", client.GenerateClientToken())
  9. }
  10. }
  11. func TestECSDescribe(t *testing.T) {
  12. if TestQuick {
  13. return
  14. }
  15. client := NewTestClient()
  16. regions, err := client.DescribeRegions()
  17. t.Log("regions: ", regions, err)
  18. for _, region := range regions {
  19. zones, err := client.DescribeZones(region.RegionId)
  20. t.Log("zones: ", zones, err)
  21. for _, zone := range zones {
  22. args := DescribeInstanceStatusArgs{
  23. RegionId: region.RegionId,
  24. ZoneId: zone.ZoneId,
  25. }
  26. instanceStatuses, pagination, err := client.DescribeInstanceStatus(&args)
  27. t.Logf("instanceStatuses: %v, %++v, %v", instanceStatuses, pagination, err)
  28. for _, instanceStatus := range instanceStatuses {
  29. instance, err := client.DescribeInstanceAttribute(instanceStatus.InstanceId)
  30. t.Logf("Instance: %++v", instance)
  31. t.Logf("Error: %++v", err)
  32. }
  33. args1 := DescribeInstancesArgs{
  34. RegionId: region.RegionId,
  35. ZoneId: zone.ZoneId,
  36. }
  37. instances, _, err := client.DescribeInstances(&args1)
  38. if err != nil {
  39. t.Errorf("Failed to describe instance by region %s zone %s: %v", region.RegionId, zone.ZoneId, err)
  40. } else {
  41. for _, instance := range instances {
  42. t.Logf("Instance: %++v", instance)
  43. }
  44. }
  45. }
  46. args := DescribeImagesArgs{RegionId: region.RegionId}
  47. for {
  48. images, pagination, err := client.DescribeImages(&args)
  49. if err != nil {
  50. t.Fatalf("Failed to describe images: %v", err)
  51. break
  52. } else {
  53. t.Logf("Image count for region %s total %d from %d", region.RegionId, pagination.TotalCount, pagination.PageNumber*pagination.PageSize)
  54. for _, image := range images {
  55. t.Logf("Image: %++v", image)
  56. }
  57. nextPage := pagination.NextPage()
  58. if nextPage == nil {
  59. break
  60. }
  61. args.Pagination = *nextPage
  62. }
  63. }
  64. }
  65. }