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:
parent
785ce38423
commit
fb7555bfe5
5 changed files with 48 additions and 102 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
44
tests/aws/requests/ec2/key_pair_tests.rb
Normal file
44
tests/aws/requests/ec2/key_pair_tests.rb
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue