class Fog::Radosgw::Provisioning::Mock
Public Class Methods
data()
click to toggle source
# File lib/fog/radosgw/provisioning.rb, line 24 def self.data @data ||= Hash.new({}) end
new(options = {})
click to toggle source
# File lib/fog/radosgw/provisioning.rb, line 32 def initialize(options = {}) configure_uri_options(options) end
reset()
click to toggle source
# File lib/fog/radosgw/provisioning.rb, line 28 def self.reset @data = nil end
Public Instance Methods
create_user(user_id, display_name, email, options = {})
click to toggle source
# File lib/fog/radosgw/requests/provisioning/create_user.rb, line 47 def create_user(user_id, display_name, email, options = {}) if user_exists?(user_id) raise Fog::Radosgw::Provisioning::UserAlreadyExists, "User with user_id #{user_id} already exists." end secret_key = rand(1000).to_s data[user_id] = { :email => email, :user_id => user_id, :display_name => display_name, :suspended => 0, :secret_key => secret_key, } Excon::Response.new.tap do |response| response.status = 200 response.headers['Content-Type'] = 'application/json' response.body = { "email" => email, "user_id" => user_id, "display_name" => display_name, "suspended" => 0, "keys" => [ { "access_key" => "XXXXXXXXXXXXXXXXXXXX", "secret_key" => secret_key, "user" => user_id, } ], } end end
data()
click to toggle source
# File lib/fog/radosgw/provisioning.rb, line 36 def data self.class.data[radosgw_uri] end
delete_user(user_id)
click to toggle source
# File lib/fog/radosgw/requests/provisioning/delete_user.rb, line 41 def delete_user(user_id) if !user_exists?(user_id) raise Fog::Radosgw::Provisioning::NoSuchUser, "No user with user_id #{user_id} exists." end data.delete(user_id) Excon::Response.new.tap do |response| response.status = 200 response.headers['Content-Type'] = 'application/json' response.body = "" end end
disable_user(user_id)
click to toggle source
# File lib/fog/radosgw/requests/provisioning/disable_user.rb, line 17 def disable_user(user_id) update_mock_user(user_id, { :suspended => 1 }) end
enable_user(user_id)
click to toggle source
# File lib/fog/radosgw/requests/provisioning/enable_user.rb, line 17 def enable_user(user_id) update_mock_user(user_id, { :suspended => 0 }) end
get_user(user_id)
click to toggle source
# File lib/fog/radosgw/requests/provisioning/get_user.rb, line 36 def get_user(user_id) if value = data[user_id] Excon::Response.new.tap do |response| response.status = 200 response.headers['Content-Type'] = 'application/json' response.body = { "email" => value[:email], "user_id" => value[:user_id], "display_name" => value[:display_name], "suspended" => value[:suspended], "keys" => [ { "access_key" => "XXXXXXXXXXXXXXXXXXXX", "secret_key" => value[:secret_key], "user" => value[:user_id], } ], } 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/radosgw/requests/provisioning/list_users.rb, line 44 def list_users(options = {}) filtered_data = options[:suspended] ? data.select { |key, value| value[:suspended] == options[:suspended] } : data Excon::Response.new.tap do |response| response.status = 200 response.body = filtered_data.map do |key, value| { "email" => value[:email], "display_name" => value[:user_id], "user_id" => value[:user_id], "suspended" => value[:suspended], "keys" => [ { "access_key" => "XXXXXXXXXXXXXXXXXXXX", "secret_key" => value[:secret_key], "user" => value[:user_id], } ], } end.compact end end
reset_data()
click to toggle source
# File lib/fog/radosgw/provisioning.rb, line 40 def reset_data self.class.data.delete(radosgw_uri) end
update_user(key_id, user)
click to toggle source
# File lib/fog/radosgw/requests/provisioning/update_user.rb, line 17 def update_user(key_id, user) update_mock_user(key_id, user) end
user_exists?(user_id)
click to toggle source
# File lib/fog/radosgw/requests/provisioning/create_user.rb, line 41 def user_exists?(user_id) data.find do |key, value| value[:user_id] == user_id end end