class Lopata::Configuration

Stores runtime configuration information

@see Lopata.configure @see Lopata.configuration

Attributes

after_scenario_steps[R]

@private

before_scenario_steps[R]

@private

default_role[RW]

@return [Symbol,nil] user role to be used in scenario if not specified @see Lopata::Role

env[RW]

@return [Symbol] environment code.

Default is :qa

@see Lopata::Environment

environment[RW]

@private

keep[RW]

@return [Boolean] keep generated test data after scenarios running.

Default is false
Set to true for keeping generated data.
Use 'lopata --keep' modifier to set keep mode on running.

@see Lopata::ActiveRecord::Methods#cleanup

observers[R]

@private

role_descriptions[RW]

@return [Hash{Symbol => String}] map or role codes to role name. @see Lopata::Role

web_logging_params[RW]

@private

Public Class Methods

new() click to toggle source

Build an object to store runtime configuration options and set defaults

# File lib/lopata/configuration.rb, line 8
def initialize
  @before_start_hooks = []
  @before_scenario_steps = []
  @after_scenario_steps = []
  @observers = [Lopata::Observers::ConsoleOutputObserver.new]
  @role_descriptions = {}
  @env = :qa
end

Public Instance Methods

add_observer(observer) click to toggle source

Add an observer to the set Lopata to be used for this run.

@param observer [Lopata::Observers::BaseObserver] a observer instance.

@see Lopata::Observers::BaseObserver

# File lib/lopata/configuration.rb, line 76
def add_observer(observer)
  @observers << observer
end
after_scenario(*steps, &block) click to toggle source

Defines 'after scenario' steps. Given steps will be runned after each scenario in context of scenario. It may be shared step names, and|or block.

@example

Lopata.configure do |c|
  c.after_scenario 'cleanup test user'
end

@param steps [Array<String>] name of shared steps @param block [Proc] block of code

# File lib/lopata/configuration.rb, line 63
def after_scenario(*steps, &block)
  after_scenario_steps.append(*steps) unless steps.empty?
  after_scenario_steps.append(block) if block_given?
end
before_scenario(*steps, &block) click to toggle source

Defines 'before scenario' steps. Given steps will be runned before each scenario in context of scenario. It may be shared step names, and|or block.

@example

Lopata.configure do |c|
  c.before_scenario 'setup test user'
end

@param steps [Array<String>] name of shared steps @param block [Proc] block of code

# File lib/lopata/configuration.rb, line 47
def before_scenario(*steps, &block)
  before_scenario_steps.append(*steps) unless steps.empty?
  before_scenario_steps.append(block) if block_given?
end
before_start(&block) click to toggle source

Add the hook to be called before scenarios running The block will be called after framework initialization and before scenarios parsing. It usually allow to require and initialize the libraries used for project testing.

@example

Lopata.configure do |c|
  c.before_start do
    require 'active_record'
  end
end
# File lib/lopata/configuration.rb, line 27
def before_start(&block)
  @before_start_hooks << block
end
filters() click to toggle source

@private

# File lib/lopata/configuration.rb, line 84
def filters
  @filters ||= []
end
init_lopata_logging(url, project_code, build_number) click to toggle source

@private

# File lib/lopata/configuration.rb, line 92
def init_lopata_logging(url, project_code, build_number)
  require 'lopata/observers/web_logger'
  self.web_logging_params = { url: url, project_code: project_code, build_number: build_number }
  add_observer Lopata::Observers::WebLogger.new
end
load_environment() click to toggle source

@private

# File lib/lopata/configuration.rb, line 122
def load_environment
  self.environment = Lopata::Environment.new(env)
end
run_before_start_hooks() click to toggle source

@private

# File lib/lopata/configuration.rb, line 32
def run_before_start_hooks
  @before_start_hooks.each(&:call)
end