Class: ApiMiniTester::TestSuite

Inherits:
Object
  • Object
show all
Defined in:
lib/api_mini_tester/test_suite.rb

Constant Summary collapse

DEBUG_FILE =
'debug.json'.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(suite_def, debug = false) ⇒ TestSuite

Returns a new instance of TestSuite.



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/api_mini_tester/test_suite.rb', line 11

def initialize(suite_def, debug = false)
  if suite_def.is_a?(String)
    @test = YAML.load(File.open(suite_def))
  elsif suite_def.is_a?(Hash)
    @test = suite_def
  end
  @debug = debug
  if debug
    File.delete(DEBUG_FILE) if File.exist?(DEBUG_FILE)
  end
  setup
end

Instance Attribute Details

#base_uriObject (readonly)

Returns the value of attribute base_uri.



9
10
11
# File 'lib/api_mini_tester/test_suite.rb', line 9

def base_uri
  @base_uri
end

#dataObject (readonly)

Returns the value of attribute data.



9
10
11
# File 'lib/api_mini_tester/test_suite.rb', line 9

def data
  @data
end

#debugObject (readonly)

Returns the value of attribute debug.



9
10
11
# File 'lib/api_mini_tester/test_suite.rb', line 9

def debug
  @debug
end

#defaultsObject (readonly)

Returns the value of attribute defaults.



9
10
11
# File 'lib/api_mini_tester/test_suite.rb', line 9

def defaults
  @defaults
end

#resultsObject (readonly)

Returns the value of attribute results.



9
10
11
# File 'lib/api_mini_tester/test_suite.rb', line 9

def results
  @results
end

#scenariosObject (readonly)

Returns the value of attribute scenarios.



9
10
11
# File 'lib/api_mini_tester/test_suite.rb', line 9

def scenarios
  @scenarios
end

Instance Method Details



48
49
50
51
# File 'lib/api_mini_tester/test_suite.rb', line 48

def print_results(format)
  formatter = TestFormatter.new(results)
  formatter.send("to_#{format}")
end

#run_scenariosObject



39
40
41
42
43
44
45
46
# File 'lib/api_mini_tester/test_suite.rb', line 39

def run_scenarios
  scenarios.each do |scenario|
    runner = TestScenario.new(base_uri, scenario, data, defaults, debug)
    runner.run_scenario
    @results[:scenarios] << runner.results
  end
  @results
end

#setupObject



31
32
33
34
35
36
37
# File 'lib/api_mini_tester/test_suite.rb', line 31

def setup
  @base_uri = @test['settings']['baseurl']
  @scenarios = @test['tests']
  @data = @test['data']
  @defaults = @test['defaults']
  @results = {name: @test['name'], desc: @test['desc'], scenarios: []}
end

#valid?Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
# File 'lib/api_mini_tester/test_suite.rb', line 24

def valid?
  return false if base_uri.nil? || base_uri.empty?
  return false if scenarios.nil? || scenarios.empty?

  true
end