Parent

Class/Module Index [+]

Quicksearch

Fog::RiakCS::Provisioning::Mock

Public Class Methods

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

Public Instance Methods

create_user(email, name, options = {}) click to toggle source
# File lib/fog/riakcs/requests/provisioning/create_user.rb, line 47
def create_user(email, name, options = {})
  if invalid_email?(email)
    raise Fog::RiakCS::Provisioning::ServiceUnavailable, "The email address you provided is not a valid."
  end

  if user_exists?(email)
    raise Fog::RiakCS::Provisioning::UserAlreadyExists, "User with email #{email} already exists."
  end

  key_id       = rand(1000).to_s
  key_secret   = rand(1000).to_s
  data[key_id] = { :email => email, :name => name, :status => 'enabled', :key_secret => key_secret }

  Excon::Response.new.tap do |response|
    response.status = 200
    response.headers['Content-Type'] = 'application/json'
    response.body = {
      "email"        => data[:email],
      "display_name" => data[:name],
      "name"         => "user123",
      "key_id"       => key_id,
      "key_secret"   => key_secret,
      "id"           => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "status"       => "enabled"
    }
  end
end
data() click to toggle source
# File lib/fog/riakcs/provisioning.rb, line 37
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
invalid_email?(email) click to toggle source
# File lib/fog/riakcs/requests/provisioning/create_user.rb, line 37
def invalid_email?(email)
  !email.include?('@')
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 41
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
user_exists?(email) click to toggle source
# File lib/fog/riakcs/requests/provisioning/create_user.rb, line 41
def user_exists?(email)
  data.detect do |key, value|
    value[:email] == email
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.