mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
starting rackspace servers mocks
This commit is contained in:
parent
49c8224dbf
commit
f00f77638e
4 changed files with 76 additions and 16 deletions
|
@ -6,21 +6,41 @@ module Fog
|
|||
load 'fog/rackspace/servers.rb'
|
||||
end
|
||||
|
||||
def self.authenticate(options)
|
||||
connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
|
||||
response = connection.request({
|
||||
:expects => 204,
|
||||
:headers => {
|
||||
'X-Auth-Key' => options[:rackspace_api_key],
|
||||
'X-Auth-User' => options[:rackspace_username]
|
||||
},
|
||||
:host => 'auth.api.rackspacecloud.com',
|
||||
:method => 'GET',
|
||||
:path => 'v1.0'
|
||||
})
|
||||
response.headers.reject do |key, value|
|
||||
!['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
|
||||
unless Fog.mocking?
|
||||
|
||||
def self.authenticate(options)
|
||||
connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
|
||||
response = connection.request({
|
||||
:expects => 204,
|
||||
:headers => {
|
||||
'X-Auth-Key' => options[:rackspace_api_key],
|
||||
'X-Auth-User' => options[:rackspace_username]
|
||||
},
|
||||
:host => 'auth.api.rackspacecloud.com',
|
||||
:method => 'GET',
|
||||
:path => 'v1.0'
|
||||
})
|
||||
response.headers.reject do |key, value|
|
||||
!['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
def self.authenticate(options)
|
||||
{
|
||||
'X-Auth_Token' => '01234567-0123-0123-0123-01234',
|
||||
'X-CDN-Management-Url' => 'https://cdn.cloaddrive.com/v1/CloudFS_01234-0123',
|
||||
'X-Server-Management-Url' => 'https://servers.api.rackspacecloud.com/v1.0/01234',
|
||||
'X-Storage-Url' => 'https://storage.clouddrive.com/v1/CloudFS_01234-0123'
|
||||
}
|
||||
end
|
||||
|
||||
srand(Time.now.to_i)
|
||||
|
||||
class Mock
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -74,7 +74,25 @@ else
|
|||
module Rackspace
|
||||
class Servers
|
||||
|
||||
def create_server
|
||||
def create_server(flavor_id, image_id, options = {})
|
||||
response = Fog::Response.new
|
||||
response.status = 202
|
||||
|
||||
data = {
|
||||
'addresses' => { 'private' => ['0.0.0.0'], 'public' => ['0.0.0.0'] },
|
||||
'flavorId' => flavor_id,
|
||||
'id' => 123456,
|
||||
'imageId' => image_id,
|
||||
'hostId' => "123456789ABCDEF01234567890ABCDEF",
|
||||
'metadata' => options[:metadata] || {},
|
||||
'progress' => 0,
|
||||
'status' => 'BUILD'
|
||||
}
|
||||
data['name'] = "slice#{data[:id]}"
|
||||
data['adminPass'] = "#{data['name']}password"
|
||||
Fog::Rackspace::Servers.data[:servers][data[:id]] = data
|
||||
response.body = { 'server' => data }
|
||||
response
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -27,7 +27,14 @@ else
|
|||
module Rackspace
|
||||
class Servers
|
||||
|
||||
def delete_server
|
||||
def delete_server(id)
|
||||
response = Fog::Response.new
|
||||
if Fog::Rackspace::Servers.data[:servers].delete(id)
|
||||
response.status = 202
|
||||
else
|
||||
response.status = 404
|
||||
end
|
||||
response
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -2,6 +2,17 @@ module Fog
|
|||
module Rackspace
|
||||
class Servers
|
||||
|
||||
if Fog.mocking?
|
||||
def self.data
|
||||
@data
|
||||
end
|
||||
def self.reset_data
|
||||
@data = {
|
||||
:servers => {},
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
def self.reload
|
||||
load "fog/rackspace/models/servers/server.rb"
|
||||
load "fog/rackspace/models/servers/servers.rb"
|
||||
|
@ -22,6 +33,10 @@ module Fog
|
|||
load "fog/rackspace/requests/servers/list_servers_detail.rb"
|
||||
load "fog/rackspace/requests/servers/reboot_server.rb"
|
||||
load "fog/rackspace/requests/servers/update_server.rb"
|
||||
|
||||
if Fog.mocking?
|
||||
reset_data
|
||||
end
|
||||
end
|
||||
|
||||
def initialize(options={})
|
||||
|
|
Loading…
Add table
Reference in a new issue