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
		Add a link
		
	
		Reference in a new issue