class Soar::Registry::Staff::Test::Directory::Provider::DynamoDb
Public Class Methods
new(config={}, data_structure={}, data={})
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 14 def initialize(config={}, data_structure={}, data={}) @config = config @identities = data @data_structure = data_structure @directory = Soar::Registry::Staff::Directory::DynamoDb.new end
Public Instance Methods
connection_error()
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 42 def connection_error configuration = @directory.instance_variable_get(:@configuration) configuration['endpoint'] = 'missing' @directory.instance_variable_set(:@configuration, configuration) end
create_data_structure()
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 21 def create_data_structure if not @directory.client.list_tables.table_names.include?(valid_configuration['provider']['config']['table']) @directory.client.create_table(@data_structure) end end
delete_data_structure()
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 27 def delete_data_structure @directory.client.delete_table({ table_name: valid_configuration['provider']['config']['table'] }) end
invalid_configuration(valid_config)
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 58 def invalid_configuration(valid_config) invalid_config = [] ['table', 'region', 'endpoint'].each { |index| config = deep_copy(valid_config) config['provider']['config'].delete(index) invalid_config << config } return invalid_config end
load_sample_data()
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 33 def load_sample_data @identities.each { |identity| @directory.client.put_item({ table_name: valid_configuration['provider']['config']['table'], item: Hashie.symbolize_keys(deep_copy(identity)) }) } end
networking_error()
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 48 def networking_error configuration = @directory.instance_variable_get(:@configuration) configuration['endpoint'] = 'http://missing' @directory.instance_variable_set(:@configuration, configuration) end
valid_configuration?(config)
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 54 def valid_configuration?(config) @directory.configuration['region'] == config['provider']['config']['region'] and @directory.configuration['endpoint'] == config['provider']['config']['endpoint'] end
valid_credentials?(credentials)
click to toggle source
# File lib/soar/registry/staff/test/directory/provider/dynamo_db.rb, line 68 def valid_credentials?(credentials) @directory.credentials['access_key_id'] == credentials['username'] and @directory.credentials['secret_access_key'] == credentials['password'] end