From c872eefe34f1bb25d0a4be2f3f03325174a588b0 Mon Sep 17 00:00:00 2001 From: Aaron Suggs Date: Tue, 31 May 2011 23:24:48 -0400 Subject: [PATCH] [aws|rds] Add security_groups collection and model tests --- tests/aws/models/rds/security_group_tests.rb | 50 +++++++++++++++++++ tests/aws/models/rds/security_groups_tests.rb | 5 ++ 2 files changed, 55 insertions(+) create mode 100644 tests/aws/models/rds/security_group_tests.rb create mode 100644 tests/aws/models/rds/security_groups_tests.rb diff --git a/tests/aws/models/rds/security_group_tests.rb b/tests/aws/models/rds/security_group_tests.rb new file mode 100644 index 000000000..e59686e21 --- /dev/null +++ b/tests/aws/models/rds/security_group_tests.rb @@ -0,0 +1,50 @@ +Shindo.tests("AWS::RDS | security_group", ['aws', 'rds']) do + group_name = 'fog-test' + params = {:id => group_name, :description => 'fog test'} + + model_tests(AWS[:rds].security_groups, params, false) do + + tests("#description").returns('fog test') { @instance.description } + # TODO: + tests("#ready?") + tests("#authorize_ec2_security_group").succeeds do + @ec2_sec_group = AWS[:compute].security_groups.create(:name => 'fog-test', :description => 'fog test') + + @instance.authorize_ec2_security_group(@ec2_sec_group.name) + returns('authorizing') do + @instance.ec2_security_groups.detect{|h| h['EC2SecurityGroupName'] == @ec2_sec_group.name}['Status'] + end + end + + @instance.wait_for { ready? } + + tests("#revoke_ec2_security_group").succeeds do + @instance.revoke_ec2_security_group(@ec2_sec_group.name) + + returns('revoking') do + @instance.ec2_security_groups.detect{|h| h['EC2SecurityGroupName'] == @ec2_sec_group.name}['Status'] + end + + @instance.wait_for { ready? } + + returns(false) { @instance.ec2_security_groups.any?{|h| h['EC2SecurityGroupName'] == @ec2_sec_group.name} } + @ec2_sec_group.destroy + end + + tests("#authorize_cidrip").succeeds do + @cidr = '127.0.0.1/32' + @instance.authorize_cidrip(@cidr) + returns('authorizing') { @instance.ip_ranges.detect{|h| h['CIDRIP'] == @cidr}['Status'] } + end + + @instance.wait_for { ready? } + tests("#revoke_cidrip").succeeds do + @instance.revoke_cidrip(@cidr) + returns('revoking') { @instance.ip_ranges.detect{|h| h['CIDRIP'] == @cidr}['Status'] } + @instance.wait_for { ready? } + returns(false) { @instance.ip_ranges.any?{|h| h['CIDRIP'] == @cidr} } + + end + + end +end diff --git a/tests/aws/models/rds/security_groups_tests.rb b/tests/aws/models/rds/security_groups_tests.rb new file mode 100644 index 000000000..c55e233b3 --- /dev/null +++ b/tests/aws/models/rds/security_groups_tests.rb @@ -0,0 +1,5 @@ +Shindo.tests("AWS::RDS | security groups", ['aws', 'rds']) do + params = {:id => 'fog-test', :description => 'fog test'} + + collection_tests(AWS[:rds].security_groups, params, false) +end