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

working on pending specs (on train, will need to test them for serious still)

This commit is contained in:
Wesley Beary 2009-11-02 18:47:24 -08:00
parent 6184d2c54d
commit 41ace1cd2f
18 changed files with 194 additions and 29 deletions

View file

@ -6,6 +6,8 @@ require 'hmac-sha1'
require 'hmac-sha2' require 'hmac-sha2'
require 'json' require 'json'
require 'mime/types' require 'mime/types'
require 'nokogiri'
require 'time'
__DIR__ = File.dirname(__FILE__) __DIR__ = File.dirname(__FILE__)

View file

@ -1,8 +1,3 @@
require 'rubygems'
require 'base64'
require 'nokogiri'
require 'time'
module Fog module Fog
module Parsers module Parsers
class Base < Nokogiri::XML::SAX::Document class Base < Nokogiri::XML::SAX::Document

View file

@ -4,12 +4,13 @@ module Fog
def self.reload def self.reload
load "fog/rackspace/requests/files/delete_container.rb" load "fog/rackspace/requests/files/delete_container.rb"
load "fog/rackspace/requests/files/delete_object.rb"
load "fog/rackspace/requests/files/get_container.rb" load "fog/rackspace/requests/files/get_container.rb"
load "fog/rackspace/requests/files/get_containers.rb" load "fog/rackspace/requests/files/get_containers.rb"
load "fog/rackspace/requests/files/head_container.rb" load "fog/rackspace/requests/files/head_container.rb"
load "fog/rackspace/requests/files/head_containers.rb" load "fog/rackspace/requests/files/head_containers.rb"
load "fog/rackspace/requests/files/put_container.rb" load "fog/rackspace/requests/files/put_container.rb"
load "fog/rackspace/requests/files/delete_object.rb" load "fog/rackspace/requests/files/put_object.rb"
end end
def initialize(options={}) def initialize(options={})

View file

@ -10,6 +10,15 @@ unless Fog.mocking?
# * server_id<~Integer> - Id of server to create image from # * server_id<~Integer> - Id of server to create image from
# * options<~Hash> - Name # * options<~Hash> - Name
# #
# ==== Returns
# * response<~Fog::AWS::Response>:
# * 'image'<~Hash>:
# * 'created'<~Time> - Creation time
# * 'id'<~Integer> - Id of image
# * 'name'<~String> - Name of image
# * 'progress'<~String> - Percentage of completion
# * 'serverId'<~Integer> - Id of server
# * 'status'<~String> - Current status
def create_image(server_id, options = {}) def create_image(server_id, options = {})
data = { data = {
'image' => { 'image' => {

View file

@ -11,8 +11,6 @@ unless Fog.mocking?
# * body<~Hash>: # * body<~Hash>:
# * 'id'<~Integer> - Id of the flavor # * 'id'<~Integer> - Id of the flavor
# * 'name'<~String> - Name of the flavor # * 'name'<~String> - Name of the flavor
# * 'ram'<~Integer> - Amount of ram for the flavor
# * 'disk'<~Integer> - Amount of diskspace for the flavor
def list_flavors def list_flavors
request( request(
:expects => 200, :expects => 200,

View file

@ -0,0 +1,41 @@
unless Fog.mocking?
module Fog
module Rackspace
class Servers
# List all images (IDs and names only)
#
# ==== Returns
# * response<~Fog::AWS::Response>:
# * body<~Hash>:
# * 'id'<~Integer> - Id of the flavor
# * 'name'<~String> - Name of the flavor
# * 'ram'<~Integer> - Amount of ram for the flavor
# * 'disk'<~Integer> - Amount of diskspace for the flavor
def list_flavors_detail
request(
:expects => 200,
:method => 'GET',
:path => 'flavors.json'
)
end
end
end
end
else
module Fog
module Rackspace
class Servers
def list_flavors_detail
end
end
end
end
end

View file

@ -15,6 +15,7 @@ module Fog
load "fog/rackspace/requests/servers/list_private_addresses.rb" load "fog/rackspace/requests/servers/list_private_addresses.rb"
load "fog/rackspace/requests/servers/list_public_addresses.rb" load "fog/rackspace/requests/servers/list_public_addresses.rb"
load "fog/rackspace/requests/servers/list_flavors.rb" load "fog/rackspace/requests/servers/list_flavors.rb"
load "fog/rackspace/requests/servers/list_flavors_detail.rb"
load "fog/rackspace/requests/servers/list_images.rb" load "fog/rackspace/requests/servers/list_images.rb"
load "fog/rackspace/requests/servers/list_images_detail.rb" load "fog/rackspace/requests/servers/list_images_detail.rb"
load "fog/rackspace/requests/servers/list_servers.rb" load "fog/rackspace/requests/servers/list_servers.rb"
@ -47,6 +48,12 @@ module Fog
}) })
unless response.body.empty? unless response.body.empty?
response.body = JSON.parse(response.body) response.body = JSON.parse(response.body)
if response.body['created']
response.body['created'] = Time.parse(response.body['created'])
end
if response.body['updated']
response.body['updated'] = Time.parse(response.body['updated'])
end
end end
response response
end end

View file

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

View file

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

View file

@ -3,9 +3,22 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_addresses' do describe 'Rackspace::Servers.list_addresses' do
describe 'success' do describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = servers.create_server(1, 3).body['server']['id']
end
after(:each) do
eventually(128) do
servers.delete_server(@server_id)
end
end
it "should return proper attributes" do it "should return proper attributes" do
pending actual = servers.list_addresses(@server_id)
p servers.list_addresses(server_id) actual['addresses'].should be_a(Hash)
actual['addresses']['private'].should be_an(Array)
actual['addresses']['public'].should be_an(Array)
end end
end end

View file

@ -0,0 +1,17 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_flavors_detail' do
describe 'success' do
it "should return proper attributes" do
actual = servers.list_flavors_detail
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

@ -4,9 +4,12 @@ describe 'Rackspace::Servers.list_flavors' do
describe 'success' do describe 'success' do
it "should return proper attributes" do it "should return proper attributes" do
pending actual = servers.list_flavors
p servers.list_flavors 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 end
end end

View file

@ -4,8 +4,14 @@ describe 'Rackspace::Servers.list_images_detail' do
describe 'success' do describe 'success' do
it "should return proper attributes" do it "should return proper attributes" do
pending actual = servers.list_images_details
p servers.list_images_detail actual['images'].should be_an(Array)
image = actual['images'].first
image['created'].should be_a(String)
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 end

View file

@ -4,8 +4,11 @@ describe 'Rackspace::Servers.list_images' do
describe 'success' do describe 'success' do
it "should return proper attributes" do it "should return proper attributes" do
pending actual = servers.list_images
p servers.list_images 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 end

View file

@ -3,9 +3,20 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_private_addresses' do describe 'Rackspace::Servers.list_private_addresses' do
describe 'success' do describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = servers.create_server(1, 3).body['server']['id']
end
after(:each) do
eventually(128) do
servers.delete_server(@server_id)
end
end
it "should return proper attributes" do it "should return proper attributes" do
pending actual = servers.list_private_addresses(@server_id)
p servers.list_private_addresses(server_id) actual['private'].should be_an(Array)
end end
end end

View file

@ -3,9 +3,20 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.list_public_addresses' do describe 'Rackspace::Servers.list_public_addresses' do
describe 'success' do describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = servers.create_server(1, 3).body['server']['id']
end
after(:each) do
eventually(128) do
servers.delete_server(@server_id)
end
end
it "should return proper attributes" do it "should return proper attributes" do
pending actual = servers.list_public_addresses(@server_id)
p servers.list_public_addresses(server_id) actual['public'].should be_an(Array)
end end
end end

View file

@ -3,9 +3,19 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.reboot_server' do describe 'Rackspace::Servers.reboot_server' do
describe 'success' do describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = servers.create_server(1, 3).body['server']['id']
end
after(:each) do
eventually(128) do
servers.delete_server(@server_id)
end
end
it "should return proper attributes" do it "should return proper attributes" do
pending servers.reboot_server(@server_id, 'HARD')
p servers.reboot_server(id, 'HARD')
end end
end end

View file

@ -3,9 +3,19 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
describe 'Rackspace::Servers.update_server' do describe 'Rackspace::Servers.update_server' do
describe 'success' do describe 'success' do
before(:each) do
# flavor 1 = 256, image 3 = gentoo 2008.0
@server_id = servers.create_server(1, 3).body['server']['id']
end
after(:each) do
eventually(128) do
servers.delete_server(@server_id)
end
end
it "should return proper attributes" do it "should return proper attributes" do
pending servers.update_server(@server_id, :name => 'server_name', :adminPass => 'admin_password')
p servers.update_server(id, :name => 'foo', :adminPass => 'bar')
end end
end end