class NoidsClient::IntegrationTest::TestRunner

Attributes

connection[R]
connection_class[R]
logger[R]
noids_url[R]

Public Class Methods

new(**kwargs) click to toggle source

@param kwargs [Hash] the configuration options for the NoidsServer. Note,

you shouldn't need to pass parameters if you follow the noids
documentation

@option logger [#debug, info] @option noids_url [String] @option connection_class [#new] a connection class that implements the

NoidsClient::Connection object interface
# File lib/noids_client/integration_test.rb, line 133
def initialize(**kwargs)
  @logger = kwargs.fetch(:logger) { IntegrationTest.default_logger }
  logger.debug("logger: #{logger.inspect}")
  @noids_url = kwargs.fetch(:noids_url) { default_noids_url }
  @connection_class = kwargs.fetch(:connection_class) { default_connection_class }
  connect!
end

Public Instance Methods

run() click to toggle source
# File lib/noids_client/integration_test.rb, line 168
def run
  assert(connection.pool_list.empty?, "Expected connection.pool_list to be empty")
  new_pool = connection.new_pool("test", ".sddd")
  assert(new_pool, "Expected to be able to create a pool")
  assert(connection.pool_list.include?("test"), "Expected connection.pool_list to include test")
  pool = connection.get_pool("test")
  assert(pool.name == "test", "Expected pool to be named 'test'")
  assert(pool.ids_used == 0, "Expected pool to have no used IDs")
  ids = pool.mint(2)
  assert(ids.size == 2, "Expected to mint 2 ids with `pool.mint(2)`")
  assert(pool.close, "Expected close to be successful")
  assert(pool.open, "Expected to be able to re-open the pool")
  assert(pool.ids_used == 2, "Expected the previously minted ids to register as used")
  return true
end

Private Instance Methods

assert(boolean_test, expectation_message) click to toggle source
# File lib/noids_client/integration_test.rb, line 186
def assert(boolean_test, expectation_message)
  if boolean_test # The test passed
    logger.info expectation_message
    return true
  else
    logger.fatal "FAILED EXPECTATION: #{expectation_message}"
    raise AssertionFailedError,  "FAILED EXPECTATION: #{expectation_message}"
  end
end
connect!() click to toggle source
# File lib/noids_client/integration_test.rb, line 144
def connect!
  logger.debug "Using #{noids_url} to connect via #{connection_class}"
  @connection = connection_class.new(noids_url)
end
default_connection_class() click to toggle source
# File lib/noids_client/integration_test.rb, line 161
def default_connection_class
  require 'noids_client'
  NoidsClient::Connection
end
default_logger() click to toggle source
# File lib/noids_client/integration_test.rb, line 156
def default_logger
  require 'logger'
  Logger.new(STDOUT)
end
default_noids_url() click to toggle source
# File lib/noids_client/integration_test.rb, line 149
def default_noids_url
  default_noids_url = "http://localhost:13001"
  ENV.fetch("NOIDS_URL") do
    default_noids_url
  end
end