1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[ec2] consolidate key pair tests

This commit is contained in:
geemus 2010-05-22 15:09:35 -07:00
parent 785ce38423
commit fb7555bfe5
5 changed files with 48 additions and 102 deletions

View file

@ -15,9 +15,10 @@ module Fog
# * 'return'<~Boolean> - success?
def delete_key_pair(key_name)
request(
'Action' => 'DeleteKeyPair',
'KeyName' => key_name,
:parser => Fog::Parsers::AWS::EC2::Basic.new
'Action' => 'DeleteKeyPair',
'KeyName' => key_name,
:idempotent => true,
:parser => Fog::Parsers::AWS::EC2::Basic.new
)
end

View file

@ -1,36 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'EC2.create_key_pair' do
describe 'success' do
after(:each) do
AWS[:ec2].delete_key_pair('fog_key_pair')
end
it "should return proper attributes" do
actual = AWS[:ec2].create_key_pair('fog_key_pair')
actual.body['keyFingerprint'].should be_a(String)
actual.body['keyMaterial'].should be_a(String)
actual.body['keyName'].should be_a(String)
actual.body['requestId'].should be_a(String)
end
end
describe 'failure' do
before(:each) do
AWS[:ec2].create_key_pair('fog_key_pair')
end
after(:each) do
AWS[:ec2].delete_key_pair('fog_key_pair')
end
it "should raise a BadRequest when the key pair already exists" do
lambda {
AWS[:ec2].create_key_pair('fog_key_pair')
}.should raise_error(Excon::Errors::BadRequest)
end
end
end

View file

@ -1,21 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'EC2.delete_key_pair' do
describe 'success' do
before(:each) do
AWS[:ec2].create_key_pair('fog_key_name')
@response = AWS[:ec2].delete_key_pair('fog_key_name')
end
it "should return proper attributes" do
@response.body['requestId'].should be_a(String)
[false, true].should include(@response.body['return'])
end
it "should not raise an error if the key pair does not exist" do
AWS[:ec2].delete_key_pair('not_a_key_name')
end
end
end

View file

@ -1,42 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'EC2.describe_key_pairs' do
describe 'success' do
before(:each) do
AWS[:ec2].create_key_pair('fog_key_name')
end
after(:each) do
AWS[:ec2].delete_key_pair('fog_key_name')
end
it "should return proper attributes with no params" do
actual = AWS[:ec2].describe_key_pairs
actual.body['keySet'].should be_an(Array)
actual.body['requestId'].should be_a(String)
key_pair = actual.body['keySet'].select {|key| key['keyName'] == 'fog_key_name' }.first
key_pair['keyFingerprint'].should be_a(String)
key_pair['keyName'].should be_a(String)
end
it "should return proper attributes with params" do
actual = AWS[:ec2].describe_key_pairs('fog_key_name')
actual.body['keySet'].should be_an(Array)
actual.body['requestId'].should be_a(String)
key_pair = actual.body['keySet'].select {|key| key['keyName'] == 'fog_key_name' }.first
key_pair['keyFingerprint'].should be_a(String)
key_pair['keyName'].should be_a(String)
end
end
describe 'failure' do
it "should raise a BadRequest error if the key does not exist" do
lambda {
AWS[:ec2].describe_key_pairs('fog_not_a_key_name')
}.should raise_error(Excon::Errors::BadRequest)
end
end
end

View file

@ -0,0 +1,44 @@
Shindo.tests('AWS::EC2 | key pair requests', ['aws']) do
tests('success') do
@key_pair_name = 'fog_key_pair'
tests("#create_key_pair('#{@key_pair_name}')").formats({ 'keyFingerprint' => String, 'keyMaterial' => String, 'keyName' => String, 'requestId' => String }) do
AWS[:ec2].create_key_pair(@key_pair_name).body
end
tests('#describe_key_pairs').formats({ 'keySet' => [{'keyFingerprint' => String, 'keyName' => String}], 'requestId' => String }) do
AWS[:ec2].describe_key_pairs.body
end
tests("#describe_key_pairs(#{@key_pair_name})").formats({ 'keySet' => [{'keyFingerprint' => String, 'keyName' => String}], 'requestId' => String }) do
AWS[:ec2].describe_key_pairs(@key_pair_name).body
end
tests("#delete_key_pair('#{@key_pair_name}')").formats(AWS::EC2::Formats::BASIC) do
AWS[:ec2].delete_key_pair(@key_pair_name).body
end
tests("#delete_key_pair('not_a_key_name')").succeeds do
AWS[:ec2].delete_key_pair('not_a_key_name')
end
end
tests('failure') do
@key_pair = AWS[:ec2].key_pairs.create(:name => 'fog_key_pair')
tests("duplicate #create_key_pair('#{@key_pair.name}')").raises(Excon::Errors::BadRequest) do
AWS[:ec2].create_key_pair(@key_pair.name)
end
tests("#describe_key_pair('not_a_key_name')").raises(Excon::Errors::BadRequest) do
AWS[:ec2].describe_key_pairs('not_a_key_name').body
end
@key_pair.destroy
end
end