puppet-check 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,80 +4,80 @@ require_relative '../../lib/puppet-check/output_results'
4
4
  describe OutputResults do
5
5
  context '.text' do
6
6
  before(:each) do
7
- PuppetCheck.error_files = []
8
- PuppetCheck.warning_files = []
9
- PuppetCheck.clean_files = []
10
- PuppetCheck.ignored_files = []
7
+ PuppetCheck.settings[:error_files] = []
8
+ PuppetCheck.settings[:warning_files] = []
9
+ PuppetCheck.settings[:clean_files] = []
10
+ PuppetCheck.settings[:ignored_files] = []
11
11
  end
12
12
 
13
13
  it 'outputs files with errors' do
14
- PuppetCheck.error_files = ['foo: i had an error']
14
+ PuppetCheck.settings[:error_files] = ['foo: i had an error']
15
15
  expect { OutputResults.text }.to output("\033[31mThe following files have errors:\033[0m\n-- foo: i had an error\n").to_stdout
16
16
  end
17
17
  it 'outputs files with warnings' do
18
- PuppetCheck.warning_files = ['foo: i had a warning']
18
+ PuppetCheck.settings[:warning_files] = ['foo: i had a warning']
19
19
  expect { OutputResults.text }.to output("\n\033[33mThe following files have warnings:\033[0m\n-- foo: i had a warning\n").to_stdout
20
20
  end
21
21
  it 'outputs files with no errors or warnings' do
22
- PuppetCheck.clean_files = ['foo: i was totally good to go']
22
+ PuppetCheck.settings[:clean_files] = ['foo: i was totally good to go']
23
23
  expect { OutputResults.text }.to output("\n\033[32mThe following files have no errors or warnings:\033[0m\n-- foo: i was totally good to go\n").to_stdout
24
24
  end
25
25
  it 'outputs files that were not processed' do
26
- PuppetCheck.ignored_files = ['foo: who knows what i am']
26
+ PuppetCheck.settings[:ignored_files] = ['foo: who knows what i am']
27
27
  expect { OutputResults.text }.to output("\n\033[36mThe following files have unrecognized formats and therefore were not processed:\033[0m\n-- foo: who knows what i am\n").to_stdout
28
28
  end
29
29
  end
30
30
 
31
31
  context '.markup' do
32
32
  before(:each) do
33
- PuppetCheck.error_files = []
34
- PuppetCheck.warning_files = []
35
- PuppetCheck.clean_files = []
36
- PuppetCheck.ignored_files = []
33
+ PuppetCheck.settings[:error_files] = []
34
+ PuppetCheck.settings[:warning_files] = []
35
+ PuppetCheck.settings[:clean_files] = []
36
+ PuppetCheck.settings[:ignored_files] = []
37
37
  end
38
38
 
39
39
  it 'outputs files with errors as yaml' do
40
- PuppetCheck.output_format = 'yaml'
41
- PuppetCheck.error_files = ['foo: i had an error']
40
+ PuppetCheck.settings[:output_format] = 'yaml'
41
+ PuppetCheck.settings[:error_files] = ['foo: i had an error']
42
42
  expect { OutputResults.markup }.to output("---\nerrors:\n- 'foo: i had an error'\n").to_stdout
43
43
  end
44
44
  it 'outputs files with warnings as yaml' do
45
- PuppetCheck.output_format = 'yaml'
46
- PuppetCheck.warning_files = ['foo: i had a warning']
45
+ PuppetCheck.settings[:output_format] = 'yaml'
46
+ PuppetCheck.settings[:warning_files] = ['foo: i had a warning']
47
47
  expect { OutputResults.markup }.to output("---\nwarnings:\n- 'foo: i had a warning'\n").to_stdout
48
48
  end
49
49
  it 'outputs files with no errors or warnings as yaml' do
50
- PuppetCheck.output_format = 'yaml'
51
- PuppetCheck.clean_files = ['foo: i was totally good to go']
50
+ PuppetCheck.settings[:output_format] = 'yaml'
51
+ PuppetCheck.settings[:clean_files] = ['foo: i was totally good to go']
52
52
  expect { OutputResults.markup }.to output("---\nclean:\n- 'foo: i was totally good to go'\n").to_stdout
53
53
  end
54
54
  it 'outputs files that were not processed as yaml' do
55
- PuppetCheck.output_format = 'yaml'
56
- PuppetCheck.ignored_files = ['foo: who knows what i am']
55
+ PuppetCheck.settings[:output_format] = 'yaml'
56
+ PuppetCheck.settings[:ignored_files] = ['foo: who knows what i am']
57
57
  expect { OutputResults.markup }.to output("---\nignored:\n- 'foo: who knows what i am'\n").to_stdout
58
58
  end
59
59
  it 'outputs files with errors as json' do
60
- PuppetCheck.output_format = 'json'
61
- PuppetCheck.error_files = ['foo: i had an error']
60
+ PuppetCheck.settings[:output_format] = 'json'
61
+ PuppetCheck.settings[:error_files] = ['foo: i had an error']
62
62
  expect { OutputResults.markup }.to output("{\n \"errors\": [\n \"foo: i had an error\"\n ]\n}\n").to_stdout
63
63
  end
64
64
  it 'outputs files with warnings as json' do
65
- PuppetCheck.output_format = 'json'
66
- PuppetCheck.warning_files = ['foo: i had a warning']
65
+ PuppetCheck.settings[:output_format] = 'json'
66
+ PuppetCheck.settings[:warning_files] = ['foo: i had a warning']
67
67
  expect { OutputResults.markup }.to output("{\n \"warnings\": [\n \"foo: i had a warning\"\n ]\n}\n").to_stdout
68
68
  end
69
69
  it 'outputs files with no errors or warnings as json' do
70
- PuppetCheck.output_format = 'json'
71
- PuppetCheck.clean_files = ['foo: i was totally good to go']
70
+ PuppetCheck.settings[:output_format] = 'json'
71
+ PuppetCheck.settings[:clean_files] = ['foo: i was totally good to go']
72
72
  expect { OutputResults.markup }.to output("{\n \"clean\": [\n \"foo: i was totally good to go\"\n ]\n}\n").to_stdout
73
73
  end
74
74
  it 'outputs files that were not processed as json' do
75
- PuppetCheck.output_format = 'json'
76
- PuppetCheck.ignored_files = ['foo: who knows what i am']
75
+ PuppetCheck.settings[:output_format] = 'json'
76
+ PuppetCheck.settings[:ignored_files] = ['foo: who knows what i am']
77
77
  expect { OutputResults.markup }.to output("{\n \"ignored\": [\n \"foo: who knows what i am\"\n ]\n}\n").to_stdout
78
78
  end
79
79
  it 'raises an error for an unsupported output format' do
80
- PuppetCheck.output_format = 'awesomesauce'
80
+ PuppetCheck.settings[:output_format] = 'awesomesauce'
81
81
  expect { OutputResults.markup }.to raise_error(RuntimeError, 'puppet-check: Unsupported output format \'awesomesauce\' was specified.')
82
82
  end
83
83
  end
@@ -3,9 +3,9 @@ require_relative '../../lib/puppet-check/puppet_parser'
3
3
 
4
4
  describe PuppetParser do
5
5
  before(:each) do
6
- PuppetCheck.error_files = []
7
- PuppetCheck.warning_files = []
8
- PuppetCheck.clean_files = []
6
+ PuppetCheck.settings[:error_files] = []
7
+ PuppetCheck.settings[:warning_files] = []
8
+ PuppetCheck.settings[:clean_files] = []
9
9
  end
10
10
 
11
11
  context '.manifest' do
@@ -13,36 +13,36 @@ describe PuppetParser do
13
13
  PuppetParser.manifest([fixtures_dir + 'manifests/syntax.pp'], false, false, [])
14
14
  # stupid Puppet deprecation warning
15
15
  if RUBY_VERSION.to_f < 2.1
16
- expect(PuppetCheck.error_files[0]).to match(%r{^#{fixtures_dir}manifests/syntax.pp:\nSupport for ruby version.*\n.*\nThis Variable has no effect.*\nIllegal variable name})
16
+ expect(PuppetCheck.settings[:error_files][0]).to match(%r{^#{fixtures_dir}manifests/syntax.pp:\nSupport for ruby version.*\n.*\nThis Variable has no effect.*\nIllegal variable name})
17
17
  else
18
- expect(PuppetCheck.error_files[0]).to match(%r{^#{fixtures_dir}manifests/syntax.pp:\nThis Variable has no effect.*\nIllegal variable name})
18
+ expect(PuppetCheck.settings[:error_files][0]).to match(%r{^#{fixtures_dir}manifests/syntax.pp:\nThis Variable has no effect.*\nIllegal variable name})
19
19
  end
20
- expect(PuppetCheck.warning_files).to eql([])
21
- expect(PuppetCheck.clean_files).to eql([])
20
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
21
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
22
22
  end
23
23
  it 'puts a bad parser and lint style Puppet manifest in the warning files array' do
24
24
  PuppetParser.manifest([fixtures_dir + 'manifests/style_parser.pp'], false, true, [])
25
- expect(PuppetCheck.error_files).to eql([])
26
- expect(PuppetCheck.warning_files[0]).to match(%r{^#{fixtures_dir}manifests/style_parser.pp:\nUnrecognized escape sequence.*\nUnrecognized escape sequence.*\n.*double quoted string containing})
27
- expect(PuppetCheck.clean_files).to eql([])
25
+ expect(PuppetCheck.settings[:error_files]).to eql([])
26
+ expect(PuppetCheck.settings[:warning_files][0]).to match(%r{^#{fixtures_dir}manifests/style_parser.pp:\nUnrecognized escape sequence.*\nUnrecognized escape sequence.*\n.*double quoted string containing})
27
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
28
28
  end
29
29
  it 'puts a bad lint style Puppet manifest in the warning files array' do
30
30
  PuppetParser.manifest([fixtures_dir + 'manifests/style_lint.pp'], false, true, [])
31
- expect(PuppetCheck.error_files).to eql([])
32
- expect(PuppetCheck.warning_files[0]).to match(%r{^#{fixtures_dir}manifests/style_lint.pp:\n.*double quoted string containing.*\n.*indentation of})
33
- expect(PuppetCheck.clean_files).to eql([])
31
+ expect(PuppetCheck.settings[:error_files]).to eql([])
32
+ expect(PuppetCheck.settings[:warning_files][0]).to match(%r{^#{fixtures_dir}manifests/style_lint.pp:\n.*double quoted string containing.*\n.*indentation of})
33
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
34
34
  end
35
35
  it 'puts a bad style Puppet manifest in the clean files array when puppetlint_args ignores its warnings' do
36
36
  PuppetParser.manifest([fixtures_dir + 'manifests/style_lint.pp'], false, true, ['--no-double_quoted_strings-check', '--no-arrow_alignment-check'])
37
- expect(PuppetCheck.error_files).to eql([])
38
- expect(PuppetCheck.warning_files).to eql([])
39
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}manifests/style_lint.pp"])
37
+ expect(PuppetCheck.settings[:error_files]).to eql([])
38
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
39
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}manifests/style_lint.pp"])
40
40
  end
41
41
  it 'puts a good Puppet manifest in the clean files array' do
42
42
  PuppetParser.manifest([fixtures_dir + 'manifests/good.pp'], false, true, [])
43
- expect(PuppetCheck.error_files).to eql([])
44
- expect(PuppetCheck.warning_files).to eql([])
45
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}manifests/good.pp"])
43
+ expect(PuppetCheck.settings[:error_files]).to eql([])
44
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
45
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}manifests/good.pp"])
46
46
  end
47
47
  it 'throws a well specified error for an invalid PuppetLint argument' do
48
48
  expect { PuppetParser.manifest([fixtures_dir + 'manifests/style_lint.pp'], false, true, ['--non-existent', '--does-not-exist']) }.to raise_error(RuntimeError, 'puppet-lint: invalid option supplied among --non-existent --does-not-exist')
@@ -52,15 +52,15 @@ describe PuppetParser do
52
52
  context '.template' do
53
53
  it 'puts a bad syntax Puppet template in the error files array' do
54
54
  PuppetParser.template([fixtures_dir + 'templates/syntax.epp'])
55
- expect(PuppetCheck.error_files[0]).to match(%r{^#{fixtures_dir}templates/syntax.epp:\nThis Name has no effect})
56
- expect(PuppetCheck.warning_files).to eql([])
57
- expect(PuppetCheck.clean_files).to eql([])
55
+ expect(PuppetCheck.settings[:error_files][0]).to match(%r{^#{fixtures_dir}templates/syntax.epp:\nThis Name has no effect})
56
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
57
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
58
58
  end
59
59
  it 'puts a good Puppet template in the clean files array' do
60
60
  PuppetParser.template([fixtures_dir + 'templates/good.epp'])
61
- expect(PuppetCheck.error_files).to eql([])
62
- expect(PuppetCheck.warning_files).to eql([])
63
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}templates/good.epp"])
61
+ expect(PuppetCheck.settings[:error_files]).to eql([])
62
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
63
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}templates/good.epp"])
64
64
  end
65
65
  end
66
66
  end
@@ -4,8 +4,11 @@ require_relative '../../lib/puppet-check/regression_check'
4
4
  # once a good config is loaded, bad configs would have no effect so failures are tested first; config is also tested before compilation so that the good config can be loaded at the end and used for compilation and regression tests
5
5
  describe RegressionCheck do
6
6
  context '.config' do
7
- it 'raise an appropriate error if the file is malformed' do
8
- expect { RegressionCheck.config(fixtures_dir + 'metadata.json') }.to raise_error(OctocatalogDiff::Errors::ConfigurationFileContentError, 'Configuration must define OctocatalogDiff::Config!')
7
+ # json gem got messed up for the EOL Ruby versions
8
+ if RUBY_VERSION.to_f >= 2.2
9
+ it 'raise an appropriate error if the file is malformed' do
10
+ expect { RegressionCheck.config(fixtures_dir + 'metadata.json') }.to raise_error(OctocatalogDiff::Errors::ConfigurationFileContentError, 'Configuration must define OctocatalogDiff::Config!')
11
+ end
9
12
  end
10
13
  it 'loads in a good octocatalog-diff config file' do
11
14
  expect { RegressionCheck.config(octocatalog_diff_dir + 'octocatalog-diff.cfg.rb') }.not_to raise_exception
@@ -16,14 +19,14 @@ describe RegressionCheck do
16
19
  end
17
20
 
18
21
  context '.smoke' do
19
- # API requires :puppet_binary, which needs an absolute path, which is absurdly difficult to pull off for a matrix of travis ci rvm tests
22
+ # octocatalog-diff is returning a blank error for these tests
20
23
  unless File.directory?('/home/travis')
21
24
  it 'returns a pass for a successful catalog compilation' do
22
25
  expect { RegressionCheck.smoke(['good.example.com'], "#{octocatalog_diff_dir}octocatalog-diff.cfg.rb") }.not_to raise_exception
23
26
  end
24
- end
25
- it 'returns a failure for a catalog with an error' do
26
- expect { RegressionCheck.smoke(['does_not_exist.example.com'], "#{octocatalog_diff_dir}octocatalog-diff.cfg.rb") }.to raise_error(OctocatalogDiff::Errors::CatalogError)
27
+ it 'returns a failure for a catalog with an error' do
28
+ expect { RegressionCheck.smoke(['does_not_exist.example.com'], "#{octocatalog_diff_dir}octocatalog-diff.cfg.rb") }.to raise_error(OctocatalogDiff::Errors::CatalogError)
29
+ end
27
30
  end
28
31
  it 'returns a failure for a good and bad catalog' do
29
32
  # RegressionCheck.smoke(['good.example.com', 'syntax_error.example.com'], "#{fixtures_dir}octocatalog-diff.cfg.rb")
@@ -25,8 +25,8 @@ describe RSpecPuppetSupport do
25
25
  expect(File.directory?('spec/fixtures/modules/stdlib')).to be true
26
26
 
27
27
  # cleanup rspec_puppet_setup
28
- %w(spec/spec_helper.rb).each { |file| File.delete(file) }
29
- %w(manifests modules).each { |dir| FileUtils.rm_r('spec/fixtures/' + dir) }
28
+ %w[spec/spec_helper.rb].each { |file| File.delete(file) }
29
+ %w[manifests modules].each { |dir| FileUtils.rm_r('spec/fixtures/' + dir) }
30
30
  end
31
31
  end
32
32
  end
@@ -3,89 +3,89 @@ require_relative '../../lib/puppet-check/ruby_parser'
3
3
 
4
4
  describe RubyParser do
5
5
  before(:each) do
6
- PuppetCheck.error_files = []
7
- PuppetCheck.warning_files = []
8
- PuppetCheck.clean_files = []
6
+ PuppetCheck.settings[:error_files] = []
7
+ PuppetCheck.settings[:warning_files] = []
8
+ PuppetCheck.settings[:clean_files] = []
9
9
  end
10
10
 
11
11
  context '.ruby' do
12
12
  it 'puts a bad syntax ruby file in the error files array' do
13
13
  RubyParser.ruby([fixtures_dir + 'lib/syntax.rb'], false, [])
14
- expect(PuppetCheck.error_files[0]).to match(%r{^#{fixtures_dir}lib/syntax.rb:\n.*syntax error})
15
- expect(PuppetCheck.warning_files).to eql([])
16
- expect(PuppetCheck.clean_files).to eql([])
14
+ expect(PuppetCheck.settings[:error_files][0]).to match(%r{^#{fixtures_dir}lib/syntax.rb:\n.*syntax error})
15
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
16
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
17
17
  end
18
18
  it 'puts a bad style ruby file in the warning files array' do
19
19
  RubyParser.ruby([fixtures_dir + 'lib/style.rb'], true, [])
20
- expect(PuppetCheck.error_files).to eql([])
21
- expect(PuppetCheck.warning_files[0]).to match(%r{^#{fixtures_dir}lib/style.rb:\n.*Useless assignment.*\n.*Use the new.*\n.*Do not introduce.*\n.*Prefer single.*\n.*is a writable attribute.*\n.*Issue has no descriptive comment})
22
- expect(PuppetCheck.clean_files).to eql([])
20
+ expect(PuppetCheck.settings[:error_files]).to eql([])
21
+ expect(PuppetCheck.settings[:warning_files][0]).to match(%r{^#{fixtures_dir}lib/style.rb:\n.*Useless assignment.*\n.*Use the new.*\n.*Do not introduce.*\n.*Prefer single.*\n.*is a writable attribute.*\n.*Issue has no descriptive comment})
22
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
23
23
  end
24
24
  it 'puts a bad style ruby file in the clean files array when rubocop_args ignores its warnings' do
25
25
  RubyParser.ruby([fixtures_dir + 'lib/rubocop_style.rb'], true, ['--except', 'Lint/UselessAssignment,Style/HashSyntax,Style/GlobalVars,Style/StringLiterals'])
26
- expect(PuppetCheck.error_files).to eql([])
27
- expect(PuppetCheck.warning_files).to eql([])
28
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}lib/rubocop_style.rb"])
26
+ expect(PuppetCheck.settings[:error_files]).to eql([])
27
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
28
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}lib/rubocop_style.rb"])
29
29
  end
30
30
  it 'puts a good ruby file in the clean files array' do
31
31
  RubyParser.ruby([fixtures_dir + 'lib/good.rb'], true, [])
32
- expect(PuppetCheck.error_files).to eql([])
33
- expect(PuppetCheck.warning_files).to eql([])
34
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}lib/good.rb"])
32
+ expect(PuppetCheck.settings[:error_files]).to eql([])
33
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
34
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}lib/good.rb"])
35
35
  end
36
36
  end
37
37
 
38
38
  context '.template' do
39
39
  it 'puts a bad syntax ruby template file in the error files array' do
40
40
  RubyParser.template([fixtures_dir + 'templates/syntax.erb'])
41
- expect(PuppetCheck.error_files[0]).to match(%r{^#{fixtures_dir}templates/syntax.erb:\n.*syntax error, unexpected tIDENTIFIER})
42
- expect(PuppetCheck.warning_files).to eql([])
43
- expect(PuppetCheck.clean_files).to eql([])
41
+ expect(PuppetCheck.settings[:error_files][0]).to match(%r{^#{fixtures_dir}templates/syntax.erb:\n.*syntax error, unexpected tIDENTIFIER})
42
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
43
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
44
44
  end
45
45
  it 'puts a bad style ruby template file in the warning files array' do
46
46
  RubyParser.template([fixtures_dir + 'templates/style.erb'])
47
- expect(PuppetCheck.error_files).to eql([])
48
- expect(PuppetCheck.warning_files[0]).to match(%r{^#{fixtures_dir}templates/style.erb:\n.*already initialized constant.*\n.*previous definition of})
49
- expect(PuppetCheck.clean_files).to eql([])
47
+ expect(PuppetCheck.settings[:error_files]).to eql([])
48
+ expect(PuppetCheck.settings[:warning_files][0]).to match(%r{^#{fixtures_dir}templates/style.erb:\n.*already initialized constant.*\n.*previous definition of})
49
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
50
50
  end
51
51
  it 'puts a ruby template file with ignored errors in the clean files array' do
52
52
  RubyParser.template([fixtures_dir + 'templates/no_method_error.erb'])
53
- expect(PuppetCheck.error_files).to eql([])
54
- expect(PuppetCheck.warning_files).to eql([])
55
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}templates/no_method_error.erb"])
53
+ expect(PuppetCheck.settings[:error_files]).to eql([])
54
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
55
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}templates/no_method_error.erb"])
56
56
  end
57
57
  it 'puts a good ruby template file in the clean files array' do
58
58
  RubyParser.template([fixtures_dir + 'templates/good.erb'])
59
- expect(PuppetCheck.error_files).to eql([])
60
- expect(PuppetCheck.warning_files).to eql([])
61
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}templates/good.erb"])
59
+ expect(PuppetCheck.settings[:error_files]).to eql([])
60
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
61
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}templates/good.erb"])
62
62
  end
63
63
  end
64
64
 
65
65
  context '.librarian' do
66
66
  it 'puts a bad syntax librarian Puppet file in the error files array' do
67
67
  RubyParser.librarian([fixtures_dir + 'librarian_syntax/Puppetfile'], false, [])
68
- expect(PuppetCheck.error_files[0]).to match(%r{^#{fixtures_dir}librarian_syntax/Puppetfile:\n.*syntax error})
69
- expect(PuppetCheck.warning_files).to eql([])
70
- expect(PuppetCheck.clean_files).to eql([])
68
+ expect(PuppetCheck.settings[:error_files][0]).to match(%r{^#{fixtures_dir}librarian_syntax/Puppetfile:\n.*syntax error})
69
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
70
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
71
71
  end
72
72
  it 'puts a bad style librarian Puppet file in the warning files array' do
73
73
  RubyParser.librarian([fixtures_dir + 'librarian_style/Puppetfile'], true, [])
74
- expect(PuppetCheck.error_files).to eql([])
75
- expect(PuppetCheck.warning_files[0]).to match(%r{^#{fixtures_dir}librarian_style/Puppetfile:\n.*Align the parameters.*\n.*Use the new})
76
- expect(PuppetCheck.clean_files).to eql([])
74
+ expect(PuppetCheck.settings[:error_files]).to eql([])
75
+ expect(PuppetCheck.settings[:warning_files][0]).to match(%r{^#{fixtures_dir}librarian_style/Puppetfile:\n.*Align the parameters.*\n.*Use the new})
76
+ expect(PuppetCheck.settings[:clean_files]).to eql([])
77
77
  end
78
78
  it 'puts a bad style librarian Puppet file in the clean files array when rubocop_args ignores its warnings' do
79
79
  RubyParser.librarian([fixtures_dir + 'librarian_style/Puppetfile'], true, ['--except', 'Style/AlignParameters,Style/HashSyntax'])
80
- expect(PuppetCheck.error_files).to eql([])
81
- expect(PuppetCheck.warning_files).to eql([])
82
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}librarian_style/Puppetfile"])
80
+ expect(PuppetCheck.settings[:error_files]).to eql([])
81
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
82
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}librarian_style/Puppetfile"])
83
83
  end
84
84
  it 'puts a good librarian Puppet file in the clean files array' do
85
85
  RubyParser.librarian([fixtures_dir + 'librarian_good/Puppetfile'], true, [])
86
- expect(PuppetCheck.error_files).to eql([])
87
- expect(PuppetCheck.warning_files).to eql([])
88
- expect(PuppetCheck.clean_files).to eql(["#{fixtures_dir}librarian_good/Puppetfile"])
86
+ expect(PuppetCheck.settings[:error_files]).to eql([])
87
+ expect(PuppetCheck.settings[:warning_files]).to eql([])
88
+ expect(PuppetCheck.settings[:clean_files]).to eql(["#{fixtures_dir}librarian_good/Puppetfile"])
89
89
  end
90
90
  end
91
91
  end
@@ -15,8 +15,8 @@ describe PuppetCheck::Tasks do
15
15
  expect { spec_tasks }.not_to raise_exception
16
16
 
17
17
  # cleanup rspec_puppet_setup
18
- %w(spec/spec_helper.rb).each { |file| File.delete(file) }
19
- %w(manifests modules).each { |dir| FileUtils.rm_r('spec/fixtures/' + dir) }
18
+ %w[spec/spec_helper.rb].each { |file| File.delete(file) }
19
+ %w[manifests modules].each { |dir| FileUtils.rm_r('spec/fixtures/' + dir) }
20
20
  end
21
21
  end
22
22
 
@@ -4,34 +4,36 @@ require_relative '../lib/puppet-check'
4
4
  describe PuppetCheck do
5
5
  context 'self' do
6
6
  it 'settings can be altered' do
7
- PuppetCheck.future_parser = true
8
- expect(PuppetCheck.future_parser).to eql(true)
9
- PuppetCheck.style_check = true
10
- expect(PuppetCheck.style_check).to eql(true)
11
- PuppetCheck.smoke_check = true
12
- expect(PuppetCheck.smoke_check).to eql(true)
13
- PuppetCheck.regression_check = true
14
- expect(PuppetCheck.regression_check).to eql(true)
15
- PuppetCheck.output_format = 'text'
16
- expect(PuppetCheck.output_format).to eql('text')
17
- PuppetCheck.octoconfig = '.octocatalog-diff.cfg.rb'
18
- expect(PuppetCheck.octoconfig).to eql('.octocatalog-diff.cfg.rb')
19
- PuppetCheck.octonodes = %w(localhost.localdomain)
20
- expect(PuppetCheck.octonodes).to eql(%w(localhost.localdomain))
21
- PuppetCheck.puppetlint_args = ['--puppetlint-arg-one', '--puppetlint-arg-two']
22
- expect(PuppetCheck.puppetlint_args).to eql(['--puppetlint-arg-one', '--puppetlint-arg-two'])
23
- PuppetCheck.rubocop_args = ['--rubocop-arg-one', '--rubocop-arg-two']
24
- expect(PuppetCheck.rubocop_args).to eql(['--rubocop-arg-one', '--rubocop-arg-two'])
7
+ PuppetCheck.settings[:future_parser] = true
8
+ expect(PuppetCheck.settings[:future_parser]).to eql(true)
9
+ PuppetCheck.settings[:fail_on_warnings] = true
10
+ expect(PuppetCheck.settings[:fail_on_warnings]).to eql(true)
11
+ PuppetCheck.settings[:style_check] = true
12
+ expect(PuppetCheck.settings[:style_check]).to eql(true)
13
+ PuppetCheck.settings[:smoke_check] = true
14
+ expect(PuppetCheck.settings[:smoke_check]).to eql(true)
15
+ PuppetCheck.settings[:regression_check] = true
16
+ expect(PuppetCheck.settings[:regression_check]).to eql(true)
17
+ PuppetCheck.settings[:output_format] = 'text'
18
+ expect(PuppetCheck.settings[:output_format]).to eql('text')
19
+ PuppetCheck.settings[:octoconfig] = '.octocatalog-diff.cfg.rb'
20
+ expect(PuppetCheck.settings[:octoconfig]).to eql('.octocatalog-diff.cfg.rb')
21
+ PuppetCheck.settings[:octonodes] = %w[localhost.localdomain]
22
+ expect(PuppetCheck.settings[:octonodes]).to eql(%w[localhost.localdomain])
23
+ PuppetCheck.settings[:puppetlint_args] = ['--puppetlint-arg-one', '--puppetlint-arg-two']
24
+ expect(PuppetCheck.settings[:puppetlint_args]).to eql(['--puppetlint-arg-one', '--puppetlint-arg-two'])
25
+ PuppetCheck.settings[:rubocop_args] = ['--rubocop-arg-one', '--rubocop-arg-two']
26
+ expect(PuppetCheck.settings[:rubocop_args]).to eql(['--rubocop-arg-one', '--rubocop-arg-two'])
25
27
  end
26
28
  end
27
29
 
28
30
  context '.parse_paths' do
29
31
  before(:each) { Dir.chdir(fixtures_dir) }
30
32
 
31
- let(:no_files) { PuppetCheck.parse_paths(%w(foo bar baz)) }
33
+ let(:no_files) { PuppetCheck.parse_paths(%w[foo bar baz]) }
32
34
  let(:file) { PuppetCheck.parse_paths(['lib/good.rb']) }
33
35
  let(:dir) { PuppetCheck.parse_paths(['.']) }
34
- let(:multi_dir) { PuppetCheck.parse_paths(%w(hieradata lib manifests)) }
36
+ let(:multi_dir) { PuppetCheck.parse_paths(%w[hieradata lib manifests]) }
35
37
  let(:repeats) { PuppetCheck.parse_paths(['hieradata', 'hieradata', 'lib', 'hieradata/good.json', 'manifests/good.pp', 'manifests/good.pp']) }
36
38
 
37
39
  it 'raises an error if no files were found' do
@@ -59,6 +61,16 @@ describe PuppetCheck do
59
61
  end
60
62
 
61
63
  context '.execute_parsers' do
62
- #
64
+ it 'correctly organizes a set of files and invokes the correct parsers' do
65
+ # parser_output = instance_double('execute_parsers', files: %w[puppet.pp puppet_template.epp ruby.rb ruby_template.erb yaml.yaml yaml.yml json.json Puppetfile Modulefile foobarbaz], future: false, style: false, pl_args: [], rc_args: [])
66
+ # expect(parser_output).to receive(:manifest).with(%w[puppet.pp])
67
+ # expect(parser_output).to receive(:template).with(%w[puppet_template.epp])
68
+ # expect(parser_output).to receive(:ruby).with(%w[ruby.rb])
69
+ # expect(parser_output).to receive(:template).with(%w[ruby_template.erb])
70
+ # expect(parser_output).to receive(:yaml).with(%w[yaml.yaml yaml.yml])
71
+ # expect(parser_output).to receive(:json).with(%w[json.json])
72
+ # expect(parser_output).to receive(:librarian).with(%w[Puppetfile Modulefile])
73
+ # expect(PuppetCheck.settings[:ignored_files]).to eql(%w[foobarbaz])
74
+ end
63
75
  end
64
76
  end