# File lib/fog/openstack/volume.rb, line 36 def self.data @data ||= Hash.new do |hash, key| hash[key] = { :users => {}, :tenants => {} } end end
# File lib/fog/openstack/volume.rb, line 49 def initialize(options={}) require 'multi_json' @openstack_username = options[:openstack_username] @data ||= { :users => {} } unless @data[:users].find {|u| u['name'] == options[:openstack_username]} id = Fog::Mock.random_numbers(6).to_s @data[:users][id] = { 'id' => id, 'name' => options[:openstack_username], 'email' => "#{options[:openstack_username]}@mock.com", 'tenantId' => Fog::Mock.random_numbers(6).to_s, 'enabled' => true } end end
# File lib/fog/openstack/volume.rb, line 45 def self.reset @data = nil end
# File lib/fog/openstack/requests/volume/create_volume.rb, line 31 def create_volume(name, description, size, options={}) response = Excon::Response.new response.status = 202 response.body = { 'volume' => { 'id' => Fog::Mock.random_numbers(2), 'displayName' => name, 'displayDescription' => description, 'size' => size, 'status' => 'creating', 'snapshotId' => '4', 'volumeType' => nil, 'availabilityZone' => 'nova', 'createdAt' => Time.now, 'attchments' => [] } } response end
# File lib/fog/openstack/volume.rb, line 74 def credentials { :provider => 'openstack', :openstack_auth_url => @openstack_auth_uri.to_s, :openstack_auth_token => @auth_token, :openstack_management_url => @openstack_management_url } end
# File lib/fog/openstack/volume.rb, line 66 def data self.class.data[@openstack_username] end
# File lib/fog/openstack/requests/volume/delete_snapshot.rb, line 17 def delete_snapshot(snapshot_id) response = Excon::Response.new response.status = 204 response end
# File lib/fog/openstack/requests/volume/delete_volume.rb, line 17 def delete_volume(volume_id) response = Excon::Response.new response.status = 204 response end
# File lib/fog/openstack/requests/volume/get_snapshot_details.rb, line 19 def get_snapshot_details(detailed=true) response = Excon::Response.new response.status = 200 response.body = { 'snapshot' => { 'id' => '1', 'displayName' => Fog::Mock.random_letters(rand(8) + 5), 'displayDescription' => Fog::Mock.random_letters(rand(12) + 10), 'size' => 3, 'volumeId' => '4', 'status' => 'online', 'createdAt' => Time.now } } response end
# File lib/fog/openstack/requests/volume/get_volume_details.rb, line 19 def get_volume_details(detailed=true) response = Excon::Response.new response.status = 200 response.body = { 'volume' => { 'id' => '1', 'displayName' => Fog::Mock.random_letters(rand(8) + 5), 'displayDescription' => Fog::Mock.random_letters(rand(12) + 10), 'size' => 3, 'volumeType' => nil, 'snapshotId' => '4', 'status' => 'online', 'availabilityZone' => 'nova', 'createdAt' => Time.now, 'attchments' => [] } } response end
# File lib/fog/openstack/requests/volume/list_snapshots.rb, line 20 def list_snapshots(detailed=true) response = Excon::Response.new response.status = 200 response.body = { 'snapshots' => [get_snapshot_details.body["snapshot"]] } response end
# File lib/fog/openstack/requests/volume/list_volumes.rb, line 20 def list_volumes(detailed=true) response = Excon::Response.new response.status = 200 self.data[:volumes] ||= [ { "status" => "available", "displayDescription" => "", "availabilityZone" => "nova", "displayName" => "test 1", "attachments" => [{}], "volumeType" => nil, "snapshotId" => nil, "size" => 1, "id" => 6, "createdAt" => "2012-03-30 05:31:00.655058", "metadata" => {} }, { "status" => "available", "displayDescription" => "", "availabilityZone" => "nova", "displayName" => "test 2", "attachments" => [{}], "volumeType" => nil, "snapshotId" => nil, "size" => 1, "id" => 8, "createdAt" => "2012-03-30 16:14:55.582717", "metadata" => {} } ] response.body = { 'volumes' => self.data[:volumes] } response end
# File lib/fog/openstack/volume.rb, line 70 def reset_data self.class.data.delete(@openstack_username) end
# File lib/fog/openstack/requests/volume/set_tenant.rb, line 14 def set_tenant(tenant) true end