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:
parent
6184d2c54d
commit
41ace1cd2f
18 changed files with 194 additions and 29 deletions
|
@ -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__)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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={})
|
||||||
|
|
|
@ -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' => {
|
||||||
|
|
|
@ -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,
|
||||||
|
|
41
lib/fog/rackspace/requests/servers/list_flavors_detail.rb
Normal file
41
lib/fog/rackspace/requests/servers/list_flavors_detail.rb
Normal 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
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
17
spec/rackspace/requests/servers/list_flavors_detail_spec.rb
Normal file
17
spec/rackspace/requests/servers/list_flavors_detail_spec.rb
Normal 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
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue