Class: PuppetUnitTests::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet_unit_tests/runner.rb

Overview

Test launcher.

Instance Method Summary collapse

Constructor Details

#initialize(assets_dir = nil) ⇒ Runner

Returns a new instance of Runner.



11
12
13
14
15
16
17
# File 'lib/puppet_unit_tests/runner.rb', line 11

def initialize(assets_dir = nil)
  @env = nil
  @assets_dir = assets_dir || File.realpath(
    File.join(__dir__, "..", "..", "assets")
  )
  @env_dir = nil
end

Instance Method Details

#format_errors(errors) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/puppet_unit_tests/runner.rb', line 39

def format_errors(errors)
  errors.each do |puppet_obj, usecases|
    puts puppet_obj
    usecases.each do |uc_name, uc_errors|
      puts "    #{uc_name}:"
      uc_errors.each do |err|
        puts Rainbow("        #{err}").red
      end
    end
  end
end

#run ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/puppet_unit_tests/runner.rb', line 19

def run
  setup
  all_errors = {}

  Dir.glob("tests/{class,define,function}/*.yaml") do |yaml_test_file|
    test_data = TestData.parse(yaml_test_file)
    test_data.trusted_facts["certname"] ||= @env.nodename
    errors = test_data.check(@env)
    next if errors.empty?

    all_errors[test_data.name] = errors
  end
  # TODO: test functions
  # TODO: test plans

  teardown

  all_errors
end