security_groups_test.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package ecs
  2. import (
  3. "testing"
  4. "github.com/denverdino/aliyungo/common"
  5. )
  6. func TestSecurityGroups(t *testing.T) {
  7. client := NewTestClient()
  8. regions, err := client.DescribeRegions()
  9. t.Log("regions: ", regions, err)
  10. for _, region := range regions {
  11. arg := DescribeSecurityGroupsArgs{
  12. RegionId: region.RegionId,
  13. }
  14. sgs, _, err := client.DescribeSecurityGroups(&arg)
  15. if err != nil {
  16. t.Errorf("Failed to DescribeSecurityGroups for region %s: %v", region.RegionId, err)
  17. continue
  18. }
  19. for _, sg := range sgs {
  20. t.Logf("SecurityGroup: %++v", sg)
  21. args := DescribeSecurityGroupAttributeArgs{
  22. SecurityGroupId: sg.SecurityGroupId,
  23. RegionId: region.RegionId,
  24. }
  25. sga, err := client.DescribeSecurityGroupAttribute(&args)
  26. if err != nil {
  27. t.Errorf("Failed to DescribeSecurityGroupAttribute %s: %v", sg.SecurityGroupId, err)
  28. continue
  29. }
  30. t.Logf("SecurityGroup Attribute: %++v", sga)
  31. }
  32. }
  33. }
  34. func TestECSSecurityGroupCreationAndDeletion(t *testing.T) {
  35. client := NewTestClient()
  36. instance, err := client.DescribeInstanceAttribute(TestInstanceId)
  37. if err != nil {
  38. t.Fatalf("Failed to describe instance attribute %s: %v", TestInstanceId, err)
  39. }
  40. regionId := instance.RegionId
  41. _testECSSecurityGroupCreationAndDeletion(t, client, regionId, "")
  42. }
  43. func _testECSSecurityGroupCreationAndDeletion(t *testing.T, client *Client, regionId common.Region, vpcId string) {
  44. sgName := "test-security-group"
  45. args := CreateSecurityGroupArgs{
  46. RegionId: regionId,
  47. VpcId: vpcId,
  48. SecurityGroupName: sgName,
  49. }
  50. sgId, err := client.CreateSecurityGroup(&args)
  51. if err != nil {
  52. t.Fatalf("Failed to create security group %s: %v", sgName, err)
  53. }
  54. t.Logf("Security group %s is created successfully.", sgId)
  55. describeArgs := DescribeSecurityGroupAttributeArgs{
  56. SecurityGroupId: sgId,
  57. RegionId: regionId,
  58. }
  59. sg, err := client.DescribeSecurityGroupAttribute(&describeArgs)
  60. if err != nil {
  61. t.Errorf("Failed to describe security group %s: %v", sgId, err)
  62. }
  63. t.Logf("Security group %s: %++v", sgId, sg)
  64. newName := "test-security-group-new"
  65. modifyArgs := ModifySecurityGroupAttributeArgs{
  66. SecurityGroupId: sgId,
  67. RegionId: regionId,
  68. SecurityGroupName: newName,
  69. }
  70. err = client.ModifySecurityGroupAttribute(&modifyArgs)
  71. if err != nil {
  72. t.Errorf("Failed to modify security group %s: %v", sgId, err)
  73. } else {
  74. sg, err := client.DescribeSecurityGroupAttribute(&describeArgs)
  75. if err != nil {
  76. t.Errorf("Failed to describe security group %s: %v", sgId, err)
  77. }
  78. t.Logf("Security group %s: %++v", sgId, sg)
  79. if sg.SecurityGroupName != newName {
  80. t.Errorf("Failed to modify security group %s with new name %s", sgId, newName)
  81. }
  82. }
  83. err = client.DeleteSecurityGroup(regionId, sgId)
  84. if err != nil {
  85. t.Fatalf("Failed to delete security group %s: %v", sgId, err)
  86. }
  87. t.Logf("Security group %s is deleted successfully.", sgId)
  88. }