starting rackspace servers mocks
This commit is contained in:
parent
49c8224dbf
commit
f00f77638e
|
@ -6,21 +6,41 @@ module Fog
|
||||||
load 'fog/rackspace/servers.rb'
|
load 'fog/rackspace/servers.rb'
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.authenticate(options)
|
unless Fog.mocking?
|
||||||
connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
|
|
||||||
response = connection.request({
|
def self.authenticate(options)
|
||||||
:expects => 204,
|
connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
|
||||||
:headers => {
|
response = connection.request({
|
||||||
'X-Auth-Key' => options[:rackspace_api_key],
|
:expects => 204,
|
||||||
'X-Auth-User' => options[:rackspace_username]
|
:headers => {
|
||||||
},
|
'X-Auth-Key' => options[:rackspace_api_key],
|
||||||
:host => 'auth.api.rackspacecloud.com',
|
'X-Auth-User' => options[:rackspace_username]
|
||||||
:method => 'GET',
|
},
|
||||||
:path => 'v1.0'
|
:host => 'auth.api.rackspacecloud.com',
|
||||||
})
|
:method => 'GET',
|
||||||
response.headers.reject do |key, value|
|
:path => 'v1.0'
|
||||||
!['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
|
})
|
||||||
|
response.headers.reject do |key, value|
|
||||||
|
!['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
|
||||||
|
end
|
||||||
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
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -74,7 +74,25 @@ else
|
||||||
module Rackspace
|
module Rackspace
|
||||||
class Servers
|
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
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -27,7 +27,14 @@ else
|
||||||
module Rackspace
|
module Rackspace
|
||||||
class Servers
|
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
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,6 +2,17 @@ module Fog
|
||||||
module Rackspace
|
module Rackspace
|
||||||
class Servers
|
class Servers
|
||||||
|
|
||||||
|
if Fog.mocking?
|
||||||
|
def self.data
|
||||||
|
@data
|
||||||
|
end
|
||||||
|
def self.reset_data
|
||||||
|
@data = {
|
||||||
|
:servers => {},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def self.reload
|
def self.reload
|
||||||
load "fog/rackspace/models/servers/server.rb"
|
load "fog/rackspace/models/servers/server.rb"
|
||||||
load "fog/rackspace/models/servers/servers.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/list_servers_detail.rb"
|
||||||
load "fog/rackspace/requests/servers/reboot_server.rb"
|
load "fog/rackspace/requests/servers/reboot_server.rb"
|
||||||
load "fog/rackspace/requests/servers/update_server.rb"
|
load "fog/rackspace/requests/servers/update_server.rb"
|
||||||
|
|
||||||
|
if Fog.mocking?
|
||||||
|
reset_data
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
|
|
Loading…
Reference in New Issue