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 'json'
|
||||
require 'mime/types'
|
||||
require 'nokogiri'
|
||||
require 'time'
|
||||
|
||||
__DIR__ = File.dirname(__FILE__)
|
||||
|
||||
|
|
|
@ -1,8 +1,3 @@
|
|||
require 'rubygems'
|
||||
require 'base64'
|
||||
require 'nokogiri'
|
||||
require 'time'
|
||||
|
||||
module Fog
|
||||
module Parsers
|
||||
class Base < Nokogiri::XML::SAX::Document
|
||||
|
|
|
@ -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={})
|
||||
|
|
|
@ -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' => {
|
||||
|
|
|
@ -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,
|
||||
|
|
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_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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
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
|
||||
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue