class Fog::RiakCS::Provisioning::Mock

Public Class Methods

data() click to toggle source
# File lib/fog/riakcs/provisioning.rb, line 24
def self.data
  @data ||= Hash.new({})
end
new(options = {}) click to toggle source
# File lib/fog/riakcs/provisioning.rb, line 32
def initialize(options = {})
  configure_uri_options(options)
end
reset() click to toggle source
# File lib/fog/riakcs/provisioning.rb, line 28
def self.reset
  @data = nil
end

Public Instance Methods

data() click to toggle source
# File lib/fog/riakcs/provisioning.rb, line 36
def data
  self.class.data[riakcs_uri]
end
disable_user(key_id) click to toggle source
# File lib/fog/riakcs/requests/provisioning/disable_user.rb, line 17
def disable_user(key_id)
  update_mock_user(key_id, { :status => 'disabled' })
end
enable_user(key_id) click to toggle source
# File lib/fog/riakcs/requests/provisioning/enable_user.rb, line 17
def enable_user(key_id)
  update_mock_user(key_id, { :status => 'enabled' })
end
get_user(key_id) click to toggle source
# File lib/fog/riakcs/requests/provisioning/get_user.rb, line 16
def get_user(key_id)
  if user = data[key_id]
    Excon::Response.new.tap do |response|
      response.status = 200
      response.headers['Content-Type'] = 'application/json'
      response.body = {
        "email"        => user[:email],
        "display_name" => user[:name],
        "name"         => "user123",
        "key_id"       => "XXXXXXXXXXXXXXXXXXXX",
        "key_secret"   => user[:key_secret],
        "id"           => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "status"       => user[:status]
      }
    end
  else
    Excon::Response.new.tap do |response|
      response.status = 404
      response.headers['Content-Type'] = 'application/json'
    end
  end
end
list_users(options = {}) click to toggle source
# File lib/fog/riakcs/requests/provisioning/list_users.rb, line 22
def list_users(options = {})
  filtered_data = options[:status] ? data.select { |key, value| value[:status] == options[:status] } : data

  Excon::Response.new.tap do |response|
    response.status = 200
    response.body   = filtered_data.map do |key, value|
      {
        "email"        => value[:email],
        "display_name" => value[:name],
        "name"         => "user123",
        "key_id"       => key,
        "key_secret"   => value[:key_secret],
        "id"           => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "status"       => value[:status]
      }
    end.compact
  end
end
regrant_secret(key_id) click to toggle source
# File lib/fog/riakcs/requests/provisioning/regrant_secret.rb, line 17
def regrant_secret(key_id)
  update_mock_user(key_id, { :new_key_secret => true })
end
reset_data() click to toggle source
# File lib/fog/riakcs/provisioning.rb, line 40
def reset_data
  self.class.data.delete(riakcs_uri)
end
update_user(key_id, user) click to toggle source
# File lib/fog/riakcs/requests/provisioning/update_user.rb, line 17
def update_user(key_id, user)
  update_mock_user(key_id, user)
end