[rackspace] convert server specs to shindo

This commit is contained in:
geemus (Wesley Beary) 2010-04-10 18:24:30 -07:00
parent 3aadefe82a
commit fd7d16f497
33 changed files with 268 additions and 470 deletions

View File

@ -1,26 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.create_image' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
Rackspace[:servers].delete_image(@image_id)
end
it "should return proper attributes" do
actual = Rackspace[:servers].create_image(@server_id).body['image']
@image_id = actual['id']
actual['id'].should be_an(Integer)
actual['serverId'].should be_an(Integer)
end
end
end

View File

@ -1,33 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.create_server' do
describe 'success' do
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
# flavor 1 = 256, image 3 = gentoo 2008.0
actual = Rackspace[:servers].create_server(1, 3, 'name').body['server']
@server_id = actual['id']
actual['addresses'].should be_a(Hash)
actual['addresses']['private'].should be_an(Array)
actual['addresses']['private'].first.should be_a(String)
actual['addresses']['public'].should be_an(Array)
actual['addresses']['public'].first.should be_a(String)
actual['adminPass'].should be_a(String)
actual['flavorId'].should be_an(Integer)
actual['hostId'].should be_a(String)
actual['id'].should be_an(Integer)
actual['imageId'].should be_an(Integer)
actual['metadata'].should be_a(Hash)
actual['name'].should be_a(String)
# actual['progress'].should be_an(Integer)
actual['status'].should be_a(String)
end
end
end

View File

@ -1,34 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.delete_image' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
@image_id = Rackspace[:servers].create_image(@server_id).body['image']['id']
end
it "should return proper attributes" do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
eventually(128) do
Rackspace[:servers].delete_image(@image_id)
end
end
end
describe 'failure' do
it "should raise a BadRequest error if the image does not exist" do
lambda do
Rackspace[:servers].delete_image(0)
end.should raise_error(Excon::Errors::BadRequest)
end
end
end

View File

@ -1,27 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.delete_server' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
it "should return proper attributes" do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda {
Rackspace[:servers].delete_server(0)
}.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -1,15 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.get_flavor_details' do
describe 'success' do
it "should return proper attributes" do
actual = Rackspace[:servers].get_flavor_details(1).body['flavor']
actual['disk'].should be_an(Integer)
actual['id'].should be_an(Integer)
actual['name'].should be_a(String)
actual['ram'].should be_an(Integer)
end
end
end

View File

@ -1,44 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.get_server_details' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
actual = Rackspace[:servers].get_server_details(@server_id).body['server']
actual['addresses'].should be_a(Hash)
actual['addresses']['private'].should be_an(Array)
actual['addresses']['private'].first.should be_a(String)
actual['addresses']['public'].should be_an(Array)
actual['addresses']['public'].first.should be_a(String)
actual['flavorId'].should be_an(Integer)
actual['hostId'].should be_a(String)
actual['id'].should be_an(Integer)
actual['imageId'].should be_an(Integer)
actual['metadata'].should be_a(Hash)
actual['name'].should be_a(String)
actual['progress'].should be_an(Integer)
actual['status'].should be_a(String)
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda {
Rackspace[:servers].get_server_details(0)
}.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -1,34 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_addresses' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
actual = Rackspace[:servers].list_addresses(@server_id).body
actual['addresses'].should be_a(Hash)
actual['addresses']['private'].should be_an(Array)
actual['addresses']['public'].should be_an(Array)
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda {
Rackspace[:servers].list_addresses(0)
}.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -1,17 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_flavors_detail' do
describe 'success' do
it "should return proper attributes" do
actual = Rackspace[:servers].list_flavors_detail.body
actual['flavors'].should be_an(Array)
flavor = actual['flavors'].first
flavor['disk'].should be_an(Integer)
flavor['id'].should be_an(Integer)
flavor['name'].should be_a(String)
flavor['ram'].should be_an(Integer)
end
end
end

View File

@ -1,15 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_flavors' do
describe 'success' do
it "should return proper attributes" do
actual = Rackspace[:servers].list_flavors.body
actual['flavors'].should be_an(Array)
flavor = actual['flavors'].first
flavor['id'].should be_an(Integer)
flavor['name'].should be_a(String)
end
end
end

View File

@ -1,17 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_images_detail' do
describe 'success' do
it "should return proper attributes" do
actual = Rackspace[:servers].list_images_detail.body
actual['images'].should be_an(Array)
image = actual['images'].first
image['id'].should be_an(Integer)
image['name'].should be_a(String)
image['status'].should be_a(String)
image['updated'].should be_a(String)
end
end
end

View File

@ -1,15 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_images' do
describe 'success' do
it "should return proper attributes" do
actual = Rackspace[:servers].list_images.body
actual['images'].should be_an(Array)
image = actual['images'].first
image['id'].should be_an(Integer)
image['name'].should be_a(String)
end
end
end

View File

@ -1,32 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_private_addresses' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
actual = Rackspace[:servers].list_private_addresses(@server_id).body
actual['private'].should be_an(Array)
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda {
Rackspace[:servers].list_private_addresses(0)
}.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -1,32 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_public_addresses' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
actual = Rackspace[:servers].list_public_addresses(@server_id).body
actual['public'].should be_an(Array)
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda {
Rackspace[:servers].list_public_addresses(0)
}.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -1,35 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_servers_detail' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
actual = Rackspace[:servers].list_servers_detail.body['servers'].first
actual['addresses'].should be_a(Hash)
actual['addresses']['private'].should be_an(Array)
actual['addresses']['private'].first.should be_a(String)
actual['addresses']['public'].should be_an(Array)
actual['addresses']['public'].first.should be_a(String)
actual['flavorId'].should be_an(Integer)
actual['hostId'].should be_a(String)
actual['id'].should be_an(Integer)
actual['imageId'].should be_an(Integer)
actual['metadata'].should be_a(Hash)
actual['name'].should be_a(String)
actual['progress'].should be_an(Integer)
actual['status'].should be_a(String)
end
end
end

View File

@ -1,24 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_servers' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
actual = Rackspace[:servers].list_servers.body['servers'].first
actual['id'].should be_an(Integer)
actual['name'].should be_a(String)
end
end
end

View File

@ -1,33 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.reboot_server' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
eventually(128) do
Rackspace[:servers].reboot_server(@server_id, 'HARD')
end
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda do
Rackspace[:servers].reboot_server(0, 'HARD')
end.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -1,33 +0,0 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.update_server' do
describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = Rackspace[:servers].create_server(1, 3, 'name').body['server']['id']
end
after(:each) do
eventually(128) do
Rackspace[:servers].delete_server(@server_id)
end
end
it "should return proper attributes" do
eventually(128) do
Rackspace[:servers].update_server(@server_id, :name => 'server_name', :adminPass => 'admin_password')
end
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda do
Rackspace[:servers].update_server(0, :name => 'server_name', :adminPass => 'admin_password')
end.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -57,6 +57,11 @@ module Rackspace
'status' => String
}
SUMMARY = {
'id' => Integer,
'name' => String
}
end
end

View File

@ -2,7 +2,7 @@ Shindo.tests('Rackspace::Servers#create_image', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'fogcreateserver').body['server']['id']
@server_id = Rackspace[:servers].create_server(1, 3, 'fogcreateimage').body['server']['id']
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
@data = Rackspace[:servers].create_image(@server_id).body['image']
@image_id = @data['id']

View File

@ -2,7 +2,7 @@ Shindo.tests('Rackspace::Servers#delete_image', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'fogcreateserver').body['server']['id']
@server_id = Rackspace[:servers].create_server(1, 3, 'fogdeleteimage').body['server']['id']
@image_id = Rackspace[:servers].create_image(@server_id).body['image']['id']
end

View File

@ -2,7 +2,7 @@ Shindo.tests('Rackspace::Servers#delete_server', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'fogcreateserver').body['server']['id']
@server_id = Rackspace[:servers].create_server(1, 3, 'fogdeleteserver').body['server']['id']
end
test('has proper output format') do

View File

@ -2,7 +2,7 @@ Shindo.tests('Rackspace::Servers#get_server_details', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'fogcreateserver').body['server']['id']
@server_id = Rackspace[:servers].create_server(1, 3, 'foggetserverdetails').body['server']['id']
@data = Rackspace[:servers].get_server_details(@server_id).body['server']
end

View File

@ -0,0 +1,32 @@
Shindo.tests('Rackspace::Servers#list_addresses', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'foglistaddresses').body['server']['id']
@data = Rackspace[:servers].list_addresses(@server_id).body
end
after do
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
Rackspace[:servers].delete_server(@server_id)
end
test('has proper output format') do
validate_format(@data, {'private' => [String], 'public' => [String]})
end
end
tests('failure') do
test('raises NotFound error if server does not exist') do
begin
Rackspace[:servers].list_addresses(0)
false
rescue Excon::Errors::NotFound
true
end
end
end
end

View File

@ -0,0 +1,13 @@
Shindo.tests('Rackspace::Servers#list_flavors_detail', 'rackspace') do
tests('success') do
before do
@data = Rackspace[:servers].list_flavors_detail.body['flavors']
end
test('has proper output format') do
validate_format(@data, [Rackspace::Servers::Formats::FLAVOR])
end
end
end

View File

@ -0,0 +1,13 @@
Shindo.tests('Rackspace::Servers#list_flavors', 'rackspace') do
tests('success') do
before do
@data = Rackspace[:servers].list_flavors.body['flavors']
end
test('has proper output format') do
validate_format(@data, Rackspace::Servers::Formats::SUMMARY)
end
end
end

View File

@ -0,0 +1,13 @@
Shindo.tests('Rackspace::Servers#list_images_detail', 'rackspace') do
tests('success') do
before do
@data = Rackspace[:servers].list_images_detail.body['images']
end
test('has proper output format') do
validate_format(@data, Rackspace::Servers::Formats::IMAGE)
end
end
end

View File

@ -0,0 +1,13 @@
Shindo.tests('Rackspace::Servers#list_images', 'rackspace') do
tests('success') do
before do
@data = Rackspace[:servers].list_images.body['images']
end
test('has proper output format') do
validate_format(@data, Rackspace::Servers::Formats::SUMMARY)
end
end
end

View File

@ -0,0 +1,32 @@
Shindo.tests('Rackspace::Servers#list_private_addresses', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'foglistprivateaddresses').body['server']['id']
@data = Rackspace[:servers].list_private_addresses(@server_id).body
end
after do
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
Rackspace[:servers].delete_server(@server_id)
end
test('has proper output format') do
validate_format(@data, [String])
end
end
tests('failure') do
test('raises NotFound error if server does not exist') do
begin
Rackspace[:servers].list_private_addresses(0)
false
rescue Excon::Errors::NotFound
true
end
end
end
end

View File

@ -0,0 +1,32 @@
Shindo.tests('Rackspace::Servers#list_public_addresses', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'foglistpublicaddresses').body['server']['id']
@data = Rackspace[:servers].list_public_addresses(@server_id).body
end
after do
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
Rackspace[:servers].delete_server(@server_id)
end
test('has proper output format') do
validate_format(@data, [String])
end
end
tests('failure') do
test('raises NotFound error if server does not exist') do
begin
Rackspace[:servers].list_public_addresses(0)
false
rescue Excon::Errors::NotFound
true
end
end
end
end

View File

@ -0,0 +1,19 @@
Shindo.tests('Rackspace::Servers#list_servers_detail', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'foglistserversdetail').body['server']['id']
@data = Rackspace[:servers].list_servers_detail.body['servers']
end
after do
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
Rackspace[:servers].delete_server(@server_id)
end
test('has proper output format') do
validate_format(@data, Rackspace::Servers::Formats::SERVER)
end
end
end

View File

@ -0,0 +1,19 @@
Shindo.tests('Rackspace::Servers#list_servers', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'foglistservers').body['server']['id']
@data = Rackspace[:servers].list_servers.body['servers']
end
after do
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
Rackspace[:servers].delete_server(@server_id)
end
test('has proper output format') do
validate_format(@data, Rackspace::Servers::Formats::SUMMARY)
end
end
end

View File

@ -0,0 +1,41 @@
Shindo.tests('Rackspace::Servers#reboot_server', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'fogrebootserver').body['server']['id']
end
after do
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
Rackspace[:servers].delete_server(@server_id)
end
tests('HARD') do
test('has proper output format') do
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
Rackspace[:servers].reboot_server(@server_id, 'HARD')
end
end
tests('SOFT') do
test('has proper output format') do
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
Rackspace[:servers].reboot_server(@server_id, 'SOFT')
end
end
end
tests('failure') do
test('raises NotFound error if server does not exist') do
begin
Rackspace[:servers].reboot_server(0)
false
rescue Excon::Errors::NotFound
true
end
end
end
end

View File

@ -0,0 +1,32 @@
Shindo.tests('Rackspace::Servers#update_server', 'rackspace') do
tests('success') do
before do
@server_id = Rackspace[:servers].create_server(1, 3, 'fogupdateserver').body['server']['id']
wait_for { Rackspace[:servers].get_server_details(@server_id).body['server']['status'] == 'ACTIVE' }
@data = Rackspace[:servers].update_server(@server_id, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')
end
after do
Rackspace[:servers].delete_server(@server_id)
end
test('has proper output format') do
validate_format(@data, {'name' => String, 'adminPass' => String})
end
end
tests('failure') do
test('raises NotFound error if server does not exist') do
begin
Rackspace[:servers].update_server(0, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')
false
rescue Excon::Errors::NotFound
true
end
end
end
end