module Fog::Volume::OpenStack::Mock

Public Instance Methods

create_volume_type(options = {}) click to toggle source
# File lib/fog/openstack/requests/volume/create_volume_type.rb, line 24
def create_volume_type(options = {})
  response = Excon::Response.new
  response.status = 202
  response.body = {
    "volume_type"=> {
      "id"=> "6685584b-1eac-4da6-b5c3-555430cf68ff",
      "name"=> "vol-type-001",
      "extra_specs"=> {
          "capabilities"=> "gpu"
      }
    }
  }
  response
end
delete_snapshot(_snapshot_id) click to toggle source
# File lib/fog/openstack/requests/volume/delete_snapshot.rb, line 15
def delete_snapshot(_snapshot_id)
  response = Excon::Response.new
  response.status = 202
  response
end
delete_volume(volume_id) click to toggle source
# File lib/fog/openstack/requests/volume/delete_volume.rb, line 15
def delete_volume(volume_id)
  response = Excon::Response.new
  response.status = 204
  response
end
delete_volume_type(volume_type_id) click to toggle source
# File lib/fog/openstack/requests/volume/delete_volume_type.rb, line 15
def delete_volume_type(volume_type_id)
  response = Excon::Response.new
  response.status = 204
  response
end
extend_volume(volume_id, size) click to toggle source
# File lib/fog/openstack/requests/volume/extend_volume.rb, line 17
def extend_volume(volume_id, size)
  response = Excon::Response.new
  response.status = 202
  response
end
get_quota(tenant_id) click to toggle source
# File lib/fog/openstack/requests/volume/get_quota.rb, line 15
def get_quota(tenant_id)
  response = Excon::Response.new
  response.status = 200
  response.body = {
    'quota_set' => (self.data[:quota_updated] or self.data[:quota]).merge({'id' => tenant_id})
  }
  response
end
get_quota_defaults(tenant_id) click to toggle source
# File lib/fog/openstack/requests/volume/get_quota_defaults.rb, line 15
def get_quota_defaults(tenant_id)
  response = Excon::Response.new
  response.status = 200
  response.body = {
      'quota_set' => self.data[:quota].merge({'id' => tenant_id})
  }
  response
end
get_quota_usage(tenant_id) click to toggle source
# File lib/fog/openstack/requests/volume/get_quota_usage.rb, line 15
def get_quota_usage(tenant_id)
  response = Excon::Response.new
  response.status = 200
  response.body = {
    'quota_set' => {
      'gigabytes' => {
        'reserved' => 0,
        'limit'    => -1,
        'in_use'   => 160
      },
      'snapshots' => {
        'reserved' => 0,
        'limit'    => 50,
        'in_use'   => 3
      },
      'volumes' => {
        'reserved' => 0,
        'limit'    => 50,
        'in_use'    => 5
      },
      'id' => tenant_id
    }
  }
  response
end
get_volume_type_details(volume_type_id) click to toggle source
# File lib/fog/openstack/requests/volume/get_volume_type_details.rb, line 15
def get_volume_type_details(volume_type_id)
  response = Excon::Response.new
  response.status = 200
  response.body = {
    "volume_type" => {
      "id" => "1",
      "name" => "type 1",
      "extra_specs" => {
        "volume_backend_name" => "type 1 backend name"
      }
    }
  }
  response
end
list_snapshots(detailed=true, options={}) click to toggle source
# File lib/fog/openstack/requests/volume/list_snapshots.rb, line 30
def list_snapshots(detailed=true, options={})
  response = Excon::Response.new
  response.status = 200
  response.body = {
    'snapshots' => [get_snapshot_details.body["snapshot"]]
  }
  response
end
list_snapshots_detailed(options = {}) click to toggle source
# File lib/fog/openstack/requests/volume/list_snapshots_detailed.rb, line 16
def list_snapshots_detailed(options = {})
  response = Excon::Response.new
  response.status = 200
  response.body = {
    'snapshots' => [get_snapshot_details.body["snapshot"]]
  }
  response
end
list_volume_types(options = {}) click to toggle source
# File lib/fog/openstack/requests/volume/list_volume_types.rb, line 16
def list_volume_types(options = {})
  response = Excon::Response.new
  response.status = 200
  self.data[:volume_types] ||= [
    {
      "id" => "1",
      "name" => "type 1",
      "extra_specs" => {
        "volume_backend_name" => "type 1 backend name"
      }
    },
    {
      "id" => "2",
      "name" => "type 2",
      "extra_specs" => {
        "volume_backend_name" => "type 2 backend name"
      }
    }
  ]
  response.body = { 'volume_types' => self.data[:volume_types] }
  response
end
list_zones(options = {}) click to toggle source
# File lib/fog/openstack/requests/volume/list_zones.rb, line 16
def list_zones(options = {})
  Excon::Response.new(
    :body   => {
      "availabilityZoneInfo" => [
        {
          "zoneState" => { "available" => true },
          "zoneName"  => "nova"
        }
      ]
    },
    :status => 200
  )
end
set_tenant(tenant) click to toggle source
# File lib/fog/openstack/requests/volume/set_tenant.rb, line 13
def set_tenant(tenant)
  true
end
update_quota(tenant_id, options = {}) click to toggle source
# File lib/fog/openstack/requests/volume/update_quota.rb, line 17
def update_quota(tenant_id, options = {})
  self.data[:quota_updated] = self.data[:quota].merge options

  response = Excon::Response.new
  response.status = 200
  response.body = { 'quota_set' => self.data[:quota_updated] }
  response
end
update_snapshot(snapshot_id, options = {}) click to toggle source
# File lib/fog/openstack/requests/volume/update_snapshot.rb, line 16
def update_snapshot(snapshot_id, options = {})
  unless snapshot_id
    raise ArgumentError, 'snapshot_id is required'
  end
  response = Excon::Response.new
  if snapshot = data[:snapshots][snapshot_id]
    response.status                 = 200
    snapshot['display_name']        = options['display_name'] if options['display_name']
    snapshot['display_description'] = options['display_description'] if options['display_description']
    snapshot['name']                = options['name'] if options['name']
    snapshot['description']         = options['description'] if options['description']
    snapshot['metadata']            = options['metadata'] if options['metadata']
    response.body                   = {'snapshot' => snapshot}
    response
  else
    raise Fog::HP::BlockStorageV2::NotFound
  end
end
update_volume(volume_id, data = {}) click to toggle source
# File lib/fog/openstack/requests/volume/update_volume.rb, line 16
def update_volume(volume_id, data = {})
  response        = Excon::Response.new
  response.status = 200
  response.body   = {'volume' => data.merge('id' => volume_id)}
  response
end
update_volume_type(volume_type_id, options = {}) click to toggle source
# File lib/fog/openstack/requests/volume/update_volume_type.rb, line 24
def update_volume_type(volume_type_id, options = {})
  response = Excon::Response.new
  response.status = 202
  response.body = {
    "volume_type"=> {
      "id"=> "6685584b-1eac-4da6-b5c3-555430cf68ff",
      "name"=> "vol-type-001",
      "extra_specs"=> {
          "capabilities"=> "gpu"
      }
    }
  }
  response
end