aws 2.4.5 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/README.markdown +9 -75
  2. data/lib/acf/acf_interface.rb +6 -4
  3. data/lib/aws.rb +2 -1
  4. data/lib/awsbase/awsbase.rb +98 -65
  5. data/lib/awsbase/errors.rb +9 -5
  6. data/lib/awsbase/parsers.rb +226 -226
  7. data/lib/awsbase/utils.rb +255 -207
  8. data/lib/ec2/ec2.rb +243 -105
  9. data/lib/ec2/mon_interface.rb +2 -1
  10. data/lib/iam/iam.rb +31 -25
  11. data/lib/right_aws.rb +1 -1
  12. data/lib/s3/bucket.rb +7 -8
  13. data/lib/s3/grantee.rb +238 -238
  14. data/lib/s3/key.rb +281 -281
  15. data/lib/s3/s3.rb +2 -1
  16. data/lib/s3/s3_interface.rb +45 -35
  17. data/lib/sdb/active_sdb.rb +19 -22
  18. data/lib/sdb/sdb_interface.rb +4 -5
  19. data/lib/ses/ses.rb +123 -0
  20. data/lib/sqs/sqs.rb +5 -0
  21. data/lib/sqs/sqs_interface.rb +3 -3
  22. metadata +53 -104
  23. data/lib/awsbase/support.rb +0 -142
  24. data/test/acf/test_acf.rb +0 -148
  25. data/test/acf/test_helper.rb +0 -2
  26. data/test/ec2/test_ec2.rb +0 -205
  27. data/test/ec2/test_helper.rb +0 -2
  28. data/test/ec2/test_mon.rb +0 -17
  29. data/test/elb/test_elb.rb +0 -51
  30. data/test/http_connection.rb +0 -87
  31. data/test/iam/test_iam.rb +0 -36
  32. data/test/rds/test_rds.rb +0 -181
  33. data/test/s3/s3_test_base.rb +0 -23
  34. data/test/s3/test_helper.rb +0 -3
  35. data/test/s3/test_s3.rb +0 -162
  36. data/test/s3/test_s3_class.rb +0 -179
  37. data/test/s3/test_s3_rights.rb +0 -139
  38. data/test/s3/test_s3_stubbed.rb +0 -97
  39. data/test/sdb/test_active_sdb.rb +0 -338
  40. data/test/sdb/test_helper.rb +0 -3
  41. data/test/sdb/test_sdb.rb +0 -220
  42. data/test/sqs/test_helper.rb +0 -2
  43. data/test/sqs/test_sqs.rb +0 -232
  44. data/test/test_credentials.rb +0 -54
  45. data/test/ts_right_aws.rb +0 -13
@@ -1,2 +0,0 @@
1
- require 'test/unit'
2
- require File.dirname(__FILE__) + '/../../lib/right_aws'
@@ -1,205 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
2
- require 'pp'
3
- require File.dirname(__FILE__) + '/../test_credentials.rb'
4
-
5
- class TestEc2 < Test::Unit::TestCase
6
-
7
- # Some of RightEc2 instance methods concerning instance launching and image registration
8
- # are not tested here due to their potentially risk.
9
-
10
- def setup
11
- TestCredentials.get_credentials
12
- @ec2 = Aws::Ec2.new(TestCredentials.aws_access_key_id,
13
- TestCredentials.aws_secret_access_key)
14
- @key = 'right_ec2_awesome_test_key'
15
- @group = 'right_ec2_awesome_test_security_group'
16
- end
17
-
18
- def test_001_describe_availability_zones
19
- TestCredentials.get_credentials
20
- @ec2 = Aws::Ec2.new(TestCredentials.aws_access_key_id,
21
- TestCredentials.aws_secret_access_key)
22
- zones = @ec2.describe_availability_zones
23
- puts zones.inspect
24
- assert zones.is_a? Array
25
- assert zones.size > 3
26
- zones.each do |z|
27
- puts z[:zone_name]
28
- end
29
- assert zones[0][:zone_name] == "us-east-1a"
30
- end
31
-
32
- def test_01_create_describe_key_pairs
33
- new_key = @ec2.create_key_pair(@key)
34
- assert new_key[:aws_material][/BEGIN RSA PRIVATE KEY/], "New key material is absent"
35
- keys = @ec2.describe_key_pairs
36
- assert keys.map { |key| key[:aws_key_name] }.include?(@key), "#{@key} must exist"
37
- end
38
-
39
- def test_02_create_security_group
40
- assert @ec2.create_security_group(@group, 'My awesone test group'), 'Create_security_group fail'
41
- group = @ec2.describe_security_groups([@group])[0]
42
- assert_equal @group, group[:aws_group_name], 'Group must be created but does not exist'
43
- end
44
-
45
- def test_03_perms_add
46
- assert @ec2.authorize_security_group_named_ingress(@group, TestCredentials.account_number, 'default')
47
- assert @ec2.authorize_security_group_IP_ingress(@group, 80, 80, 'udp', '192.168.1.0/8')
48
- end
49
-
50
- def test_04_check_new_perms_exist
51
- assert_equal 2, @ec2.describe_security_groups([@group])[0][:aws_perms].size
52
- end
53
-
54
- def test_05_perms_remove
55
- assert @ec2.revoke_security_group_IP_ingress(@group, 80, 80, 'udp', '192.168.1.0/8')
56
- assert @ec2.revoke_security_group_named_ingress(@group,
57
- TestCredentials.account_number, 'default')
58
- end
59
-
60
- def test_06_describe_images
61
- images = describe_images
62
- # unknown image
63
- assert_raise(Aws::AwsError) { @ec2.describe_images(['ami-ABCDEFGH']) }
64
- end
65
-
66
- def test_07_describe_instanses
67
- assert @ec2.describe_instances
68
- # unknown image
69
- assert_raise(Aws::AwsError) { @ec2.describe_instances(['i-ABCDEFGH']) }
70
- end
71
-
72
- def test_08_delete_security_group
73
- assert @ec2.delete_security_group(@group), 'Delete_security_group fail'
74
- end
75
-
76
- def test_09_delete_key_pair
77
- assert @ec2.delete_key_pair(@key), 'Delete_key_pair fail'
78
- ## Hmmm... Amazon does not through the exception any more. It now just returns a 'true' if the key does not exist any more...
79
- ## # key must be deleted already
80
- ## assert_raise(Aws::AwsError) { @ec2.delete_key_pair(@key) }
81
- end
82
-
83
- def test_10_signature_version_0
84
- ec2 = Aws::Ec2.new(TestCredentials.aws_access_key_id, TestCredentials.aws_secret_access_key, :signature_version => '0')
85
- images = ec2.describe_images
86
- assert images.size>0, 'Amazon must have at least some public images'
87
- # check that the request has correct signature version
88
- assert ec2.last_request.path.include?('SignatureVersion=0')
89
- end
90
-
91
- def test_11_regions
92
- regions = nil
93
- assert_nothing_raised do
94
- regions = @ec2.describe_regions
95
- end
96
- # check we got more that 0 regions
97
- assert regions.size > 0
98
- # check an access to regions
99
- regions.each do |region|
100
- regional_ec2 = Aws::Ec2.new(TestCredentials.aws_access_key_id, TestCredentials.aws_secret_access_key, :region => region)
101
- # do we have a correct endpoint server?
102
- assert_equal "#{region}.ec2.amazonaws.com", regional_ec2.params[:server]
103
- # get a list of images from every region
104
- images = nil
105
- assert_nothing_raised do
106
- images = regional_ec2.describe_regions
107
- end
108
- # every region must have images
109
- assert images.size > 0
110
- end
111
- end
112
-
113
- def test_12_endpoint_url
114
- ec2 = Aws::Ec2.new(TestCredentials.aws_access_key_id, TestCredentials.aws_secret_access_key, :endpoint_url => 'a://b.c:0/d/', :region => 'z')
115
- # :endpoint_url has a priority hence :region should be ommitted
116
- assert_equal 'a', ec2.params[:protocol]
117
- assert_equal 'b.c', ec2.params[:server]
118
- assert_equal '/d/', ec2.params[:service]
119
- assert_equal 0, ec2.params[:port]
120
- assert_nil ec2.params[:region]
121
- end
122
-
123
- def test_13a_create_describe_delete_tag
124
- images = describe_images
125
- resource_id = images.first[:aws_id]
126
-
127
- assert @ec2.create_tag(resource_id, 'testkey', 'testvalue').inspect, "Could not add a tag to #{resource_id}"
128
- assert_equal(
129
- [{:aws_resource_id=>resource_id, :aws_resource_type=>"image", :aws_key=>"testkey", :aws_value=>"testvalue"}],
130
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => resource_id)
131
- )
132
- assert_equal(
133
- [],
134
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => '__blah__')
135
- )
136
-
137
- assert @ec2.delete_tag(resource_id, 'testkey').inspect, "Could not delete tag 'testkey' from #{resource_id}"
138
- sleep 1 # :(
139
- assert_equal(
140
- [],
141
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => resource_id)
142
- )
143
- end
144
-
145
- def test_13b_create_describe_delete_tag_by_value
146
- images = describe_images
147
- resource_id = images.first[:aws_id]
148
-
149
- assert @ec2.create_tag(resource_id, 'testkey', 'testvalue').inspect, "Could not add a tag to #{resource_id}"
150
- assert_equal(
151
- [{:aws_resource_id=>resource_id, :aws_resource_type=>"image", :aws_key=>"testkey", :aws_value=>"testvalue"}],
152
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => resource_id, 'Filter.2.Name' => 'key', 'Filter.2.Value.1' => 'testkey')
153
- )
154
- assert_equal(
155
- [],
156
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => resource_id, 'Filter.2.Name' => 'key', 'Filter.2.Value.1' => '__blah__')
157
- )
158
-
159
- assert @ec2.delete_tag(resource_id, 'testkey', 'testvalue').inspect, "Could not delete tag 'testkey' from #{resource_id}"
160
- sleep 1 # :(
161
- assert_equal(
162
- [],
163
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => resource_id, 'Filter.2.Name' => 'key', 'Filter.2.Value.1' => 'testkey')
164
- )
165
- end
166
-
167
- def test_13c_delete_tag_with_empty_or_nil_value
168
- images = describe_images
169
- resource_id = images.first[:aws_id]
170
-
171
- assert @ec2.create_tag(resource_id, 'testkey', 'testvalue').inspect, "Could not add a tag to #{resource_id}"
172
- assert_equal(
173
- [{:aws_resource_id=>resource_id, :aws_resource_type=>"image", :aws_key=>"testkey", :aws_value=>"testvalue"}],
174
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => resource_id)
175
- )
176
-
177
- # Delete a tag with an empty string value...
178
- assert @ec2.delete_tag(resource_id, 'testkey', '').inspect, "Could not delete tag 'testkey' from #{resource_id}"
179
- sleep 1 # :(
180
- # ... does nothing
181
- assert_equal(
182
- [{:aws_resource_id=>resource_id, :aws_resource_type=>"image", :aws_key=>"testkey", :aws_value=>"testvalue"}],
183
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => resource_id)
184
- )
185
-
186
- # Delete a tag with value = nil...
187
- assert @ec2.delete_tag(resource_id, 'testkey', nil).inspect, "Could not delete tag 'testkey' from #{resource_id}"
188
- sleep 1 # :(
189
- # ... deletes all tags with the given key
190
- assert_equal(
191
- [],
192
- @ec2.describe_tags('Filter.1.Name' => 'resource-id', 'Filter.1.Value.1' => resource_id)
193
- )
194
- end
195
-
196
- private
197
-
198
- # Memoize the images to speed up the tests
199
- def describe_images
200
- @@images ||= @ec2.describe_images
201
- assert @@images.size>0, 'Amazon must have at least some public images'
202
- @@images
203
- end
204
-
205
- end
@@ -1,2 +0,0 @@
1
- require 'test/unit'
2
- require File.dirname(__FILE__) + '/../../lib/aws'
@@ -1,17 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
2
- require File.dirname(__FILE__) + '/../test_credentials.rb'
3
- require 'pp'
4
-
5
- class TestEc2 < Test::Unit::TestCase
6
-
7
- # Some of RightEc2 instance methods concerning instance launching and image registration
8
- # are not tested here due to their potentially risk.
9
-
10
- def setup
11
- TestCredentials.get_credentials
12
- @ec2 = Aws::Ec2.new(TestCredentials.aws_access_key_id,
13
- TestCredentials.aws_secret_access_key)
14
- @key = 'right_ec2_awesome_test_key'
15
- @group = 'right_ec2_awesome_test_security_group'
16
- end
17
- end
@@ -1,51 +0,0 @@
1
- require 'test/unit'
2
- require File.dirname(__FILE__) + '/../../lib/aws'
3
- require 'pp'
4
- require File.dirname(__FILE__) + '/../test_credentials.rb'
5
-
6
- class TestElb < Test::Unit::TestCase
7
-
8
- # Some of RightEc2 instance methods concerning instance launching and image registration
9
- # are not tested here due to their potentially risk.
10
-
11
- def setup
12
- TestCredentials.get_credentials
13
-
14
- @ec2 = Aws::Ec2.new(TestCredentials.aws_access_key_id,
15
- TestCredentials.aws_secret_access_key)
16
-
17
- @elb = Aws::Elb.new(TestCredentials.aws_access_key_id,
18
- TestCredentials.aws_secret_access_key)
19
- @key = 'right_ec2_awesome_test_key'
20
- @group = 'right_ec2_awesome_test_security_group'
21
- end
22
-
23
- def test_01_create_elb
24
-
25
- end
26
-
27
- def test_02_register_instances
28
-
29
- end
30
-
31
- def test_03_deregister_instances
32
-
33
- end
34
-
35
-
36
- def test_04_describe_elb
37
- desc = @elb.describe_load_balancers
38
- puts desc.inspect
39
- end
40
-
41
- def test_06_describe_instance_health
42
-
43
- end
44
-
45
-
46
- def test_15_delete_elb
47
-
48
- end
49
-
50
-
51
- end
@@ -1,87 +0,0 @@
1
- =begin
2
- Copyright (c) 2007 RightScale, Inc.
3
-
4
- Permission is hereby granted, free of charge, to any person obtaining
5
- a copy of this software and associated documentation files (the
6
- 'Software'), to deal in the Software without restriction, including
7
- without limitation the rights to use, copy, modify, merge, publish,
8
- distribute, sublicense, and/or sell copies of the Software, and to
9
- permit persons to whom the Software is furnished to do so, subject to
10
- the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- =end
23
-
24
- # Stub extension/redefinition of RightHttpConnection for testing purposes.
25
- require 'net/http'
26
- require 'rubygems'
27
- require 'right_http_connection'
28
-
29
- module Net
30
- class HTTPResponse
31
- alias_method :real_body, :body
32
- def setmsg(msg)
33
- @mymsg = msg
34
- end
35
-
36
- def body
37
- # defined?() helps us to get rid of a bunch of 'warnings'
38
- (defined?(@mymsg) && @mymsg) ? @mymsg : real_body
39
- end
40
- end
41
- end
42
-
43
- module Rightscale
44
-
45
- class HttpConnection
46
- @@response_stack = []
47
-
48
- alias_method :real_request, :request
49
-
50
- def request(request_params, &block)
51
- if(@@response_stack.length == 0)
52
- return real_request(request_params, &block)
53
- end
54
-
55
- if(block)
56
- # Do something special
57
- else
58
- next_response = HttpConnection::pop()
59
- classname = Net::HTTPResponse::CODE_TO_OBJ["#{next_response[:code]}"]
60
- response = classname.new("1.1", next_response[:code], next_response[:msg])
61
- if(next_response[:msg])
62
- response.setmsg(next_response[:msg])
63
- end
64
- response
65
- end
66
- end
67
-
68
- def self.reset
69
- @@response_stack = []
70
- end
71
-
72
- def self.push(code, msg=nil)
73
- response = {:code => code, :msg => msg}
74
- @@response_stack << response
75
- end
76
-
77
- def self.pop
78
- @@response_stack.pop
79
- end
80
-
81
- def self.length
82
- @@response_stack.length
83
- end
84
-
85
- end
86
-
87
- end
@@ -1,36 +0,0 @@
1
- require 'test/unit'
2
- require File.dirname(__FILE__) + '/../../lib/aws'
3
- require 'pp'
4
- require File.dirname(__FILE__) + '/../test_credentials.rb'
5
-
6
- class TestElb < Test::Unit::TestCase
7
-
8
- # Some of RightEc2 instance methods concerning instance launching and image registration
9
- # are not tested here due to their potentially risk.
10
-
11
- def setup
12
- TestCredentials.get_credentials
13
-
14
- @iam = Aws::Iam.new(TestCredentials.aws_access_key_id,
15
- TestCredentials.aws_secret_access_key)
16
-
17
- end
18
-
19
- def test_01_list_server_certificates
20
-
21
- ret = @iam.list_server_certificates
22
- p ret
23
- assert_true(ret.size == 0)
24
- end
25
-
26
- def test_02_upload_server_certificate
27
- ret = @iam.upload_server_certificate("test_cert",
28
- IO.read('x').strip,
29
- IO.read('y').strip,
30
- :certificate_chain=>IO.read('z').strip)
31
-
32
- p ret
33
- end
34
-
35
-
36
- end
@@ -1,181 +0,0 @@
1
- require 'test/unit'
2
- require File.dirname(__FILE__) + '/../../lib/aws'
3
- require 'rds/rds'
4
- require 'pp'
5
- require File.dirname(__FILE__) + '/../test_credentials.rb'
6
-
7
- class TestRds < Test::Unit::TestCase
8
-
9
- # Some of RightEc2 instance methods concerning instance launching and image registration
10
- # are not tested here due to their potentially risk.
11
-
12
- def setup
13
- TestCredentials.get_credentials
14
-
15
- @rds = Aws::Rds.new(TestCredentials.aws_access_key_id,
16
- TestCredentials.aws_secret_access_key)
17
-
18
- @identifier = 'test-db-instance1b'
19
- # deleting this one....
20
- #@identifier2 = 'my-db-instance2'
21
- end
22
-
23
-
24
- def test_00_describe_db_instances_empty
25
- instances = @rds.describe_db_instances
26
- # puts "instances_result=" + instances_result.inspect
27
- # instances = instances_result["DescribeDBInstancesResult"]["DBInstances"]["DBInstance"]
28
- puts "instances count = " + instances.count.to_s
29
- puts 'instances=' + instances.inspect
30
- assert instances.size == 0
31
- end
32
-
33
-
34
- def test_01_create_db_instance
35
- begin
36
- db_instance3 = @rds.create_db_instance('bad_test_key', "db.m1.small", 5, "master", "masterpass")
37
- rescue => ex
38
- #puts "msg=" + ex.message
39
- #puts "response=" + ex.response
40
- assert ex.message[0, "InvalidParameterValue".size] == "InvalidParameterValue"
41
- end
42
-
43
- db_instance = @rds.create_db_instance(@identifier, "db.m1.small", 5, "master", "masterpass")
44
- assert db_instance[:db_instance_status] == "creating"
45
-
46
- start = Time.now
47
- tries=0
48
- catch (:done) do
49
- while tries < 100
50
- instances = @rds.describe_db_instances
51
-
52
- #puts "INSTANCES -----> " + instances.inspect
53
-
54
- instances.each do |i|
55
- db_status = i[:db_instance_status]
56
- puts 'i=' + db_status.to_s
57
- next unless i[:db_instance_identifier] == @identifier
58
- throw :done if db_status == "available"
59
- puts "Database not ready yet.... attempt #{tries.to_s} of 100, db state --> #{i[:db_instance_status].to_s}"
60
- tries += 1
61
- sleep 5
62
- end
63
- end
64
- end
65
- puts "Duration to start db instance: #{Time.now-start}"
66
- end
67
-
68
-
69
- def test_02_describe_db_instances
70
- instances = @rds.describe_db_instances
71
- # puts "instances_result=" + instances_result.inspect
72
- # instances = instances_result["DescribeDBInstancesResult"]["DBInstances"]["DBInstance"]
73
- puts "instances count = " + instances.count.to_s
74
- puts 'instances=' + instances.inspect
75
- assert instances.size > 0
76
- i_describe = nil
77
- instances.each do |rdi|
78
- puts 'rdi=' + rdi.inspect
79
- i_describe = rdi if rdi[:db_instance_identifier] == @identifier
80
- end
81
- assert i_describe
82
-
83
- puts 'response_metadata=' + instances.response_metadata.inspect
84
- assert instances.response_metadata
85
- assert instances.response_metadata[:request_id]
86
- end
87
-
88
-
89
- def test_03_describe_security_groups
90
- security_groups = @rds.describe_db_security_groups()
91
- puts "security_groups=" + security_groups.inspect
92
- default_present = false
93
- assert security_groups.is_a?(Array)
94
- security_groups.each do |security_group|
95
- security_group.inspect
96
- if security_group[:db_security_group_name] == "default"
97
- default_present=true
98
- end
99
- assert security_group[:ec2_security_groups].is_a? Array
100
- end
101
- assert default_present
102
- end
103
-
104
-
105
- def test_04_authorize_security_groups_ingress
106
- # Create
107
- # security_groups = @rds.describe_db_security_groups
108
- # @security_info = security_groups[0]
109
- @rds.authorize_db_security_group_ingress_range("default", "122.122.122.122/12")
110
-
111
- # Check
112
- security_groups = @rds.describe_db_security_groups
113
- @security_info = security_groups[0]
114
-
115
- ip_found = @security_info.inspect.include? "122.122.122.122/12"
116
- assert ip_found
117
- end
118
-
119
-
120
- def test_05_delete_db_instance
121
- @rds.delete_db_instance(@identifier) # todo: can't delete unless it's in "available" state
122
- #@rds.delete_db_instance(@identifier2)
123
- sleep 3
124
-
125
- instances = @rds.describe_db_instances(:db_instance_identifier=>@identifier)
126
- #puts "instances_result=" + instances_result.inspect
127
-
128
- instances.each do |i|
129
- next unless i[:db_instance_identifier] == @identifier
130
- db_status = i[:db_instance_status]
131
- puts "Trying to delete and getting i[DBInstanceStatus] -----------> " + db_status
132
- @rds.delete_db_instance(i[:db_instance_identifier]) if db_status == "available"
133
- assert db_status == "deleting"
134
- end
135
- sleep 2
136
-
137
- end
138
-
139
-
140
- def test_06_create_security_groups
141
- group_present=false
142
-
143
- @rds.create_db_security_group("new_sample_group", "new_sample_group_description")
144
-
145
- security_groups = @rds.describe_db_security_groups
146
-
147
- security_groups.each do |security_group|
148
- if (security_group[:db_security_group_name]=="new_sample_group")&&(security_group[:db_security_group_description]=="new_sample_group_description")
149
- group_present = true
150
- end
151
- end
152
-
153
- assert group_present
154
- end
155
-
156
-
157
- def test_07_revoking_security_groups_ingress
158
- # sleep 15
159
- @rds.revoke_db_security_group_ingress("default", "122.122.122.122/12")
160
- sleep 2
161
- security_groups = @rds.describe_db_security_groups
162
- revoking = security_groups[0].inspect.include? "revoking"
163
- assert revoking
164
- end
165
-
166
-
167
- def test_08_delete_security_group
168
- group_present=false
169
- @rds.delete_db_security_group("new_sample_group")
170
- sleep 2
171
- security_groups = @rds.describe_db_security_groups
172
- security_groups.each do |security_group|
173
- if (security_group[:db_security_group_name]=="new_sample_group")
174
- group_present=true
175
- end
176
- end
177
- assert !group_present
178
- end
179
-
180
-
181
- end