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 'json'
require 'mime/types'
require 'nokogiri'
require 'time'
__DIR__ = File.dirname(__FILE__)

View file

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

View file

@ -4,12 +4,13 @@ module Fog
def self.reload
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_containers.rb"
load "fog/rackspace/requests/files/head_container.rb"
load "fog/rackspace/requests/files/head_containers.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
def initialize(options={})

View file

@ -10,6 +10,15 @@ unless Fog.mocking?
# * server_id<~Integer> - Id of server to create image from
# * 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 = {})
data = {
'image' => {

View file

@ -11,8 +11,6 @@ unless Fog.mocking?
# * 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
request(
: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_public_addresses.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_detail.rb"
load "fog/rackspace/requests/servers/list_servers.rb"
@ -47,6 +48,12 @@ module Fog
})
unless response.body.empty?
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
response
end

View file

@ -3,9 +3,26 @@ 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 = 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
pending
p servers.create_image(id)
actual = servers.create_image(@server_id)['image']
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

View file

@ -3,9 +3,20 @@ 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 = servers.create_server(1, 3).body['server']['id']
@image_id = servers.create_image(@server_id)
end
it "should return proper attributes" do
pending
p servers.delete_image(id)
eventually(128) do
servers.delete_server(@server_id)
end
end
it "should return proper attributes" do
servers.delete_image(@image_id)
end
end

View file

@ -3,9 +3,22 @@ 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 = 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
pending
p servers.list_addresses(server_id)
actual = 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

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
it "should return proper attributes" do
pending
p servers.list_flavors
actual = 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

View file

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

View file

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

View file

@ -3,9 +3,20 @@ 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 = 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
pending
p servers.list_private_addresses(server_id)
actual = servers.list_private_addresses(@server_id)
actual['private'].should be_an(Array)
end
end

View file

@ -3,9 +3,20 @@ 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 = 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
pending
p servers.list_public_addresses(server_id)
actual = servers.list_public_addresses(@server_id)
actual['public'].should be_an(Array)
end
end

View file

@ -3,9 +3,19 @@ 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 = 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
pending
p servers.reboot_server(id, 'HARD')
servers.reboot_server(@server_id, 'HARD')
end
end

View file

@ -3,9 +3,19 @@ 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 = 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
pending
p servers.update_server(id, :name => 'foo', :adminPass => 'bar')
servers.update_server(@server_id, :name => 'server_name', :adminPass => 'admin_password')
end
end