puppet-lint 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.rspec +1 -0
- data/CHANGELOG.md +56 -0
- data/Gemfile +15 -4
- data/README.md +60 -5
- data/Rakefile +13 -0
- data/lib/puppet-lint.rb +21 -4
- data/lib/puppet-lint/configuration.rb +1 -0
- data/lib/puppet-lint/data.rb +12 -4
- data/lib/puppet-lint/lexer.rb +32 -7
- data/lib/puppet-lint/optparser.rb +4 -3
- data/lib/puppet-lint/plugins/check_classes.rb +73 -0
- data/lib/puppet-lint/plugins/check_comments.rb +4 -0
- data/lib/puppet-lint/plugins/check_conditionals.rb +4 -0
- data/lib/puppet-lint/plugins/check_documentation.rb +2 -0
- data/lib/puppet-lint/plugins/check_nodes.rb +2 -0
- data/lib/puppet-lint/plugins/check_resources.rb +80 -3
- data/lib/puppet-lint/plugins/check_strings.rb +13 -1
- data/lib/puppet-lint/plugins/check_variables.rb +6 -0
- data/lib/puppet-lint/plugins/check_whitespace.rb +12 -0
- data/lib/puppet-lint/version.rb +1 -1
- data/puppet-lint.gemspec +0 -2
- data/spec/fixtures/test/manifests/ignore_reason.pp +4 -1
- data/spec/fixtures/test/manifests/mismatched_control_comment.pp +1 -0
- data/spec/puppet-lint/bin_spec.rb +25 -12
- data/spec/puppet-lint/configuration_spec.rb +1 -0
- data/spec/puppet-lint/lexer_spec.rb +56 -2
- data/spec/puppet-lint/plugins/check_classes/code_on_top_scope_spec.rb +43 -0
- data/spec/puppet-lint/plugins/check_classes/name_contains_uppercase_spec.rb +66 -0
- data/spec/puppet-lint/plugins/check_classes/parameter_order_spec.rb +49 -0
- data/spec/puppet-lint/plugins/check_resources/ensure_first_param_spec.rb +140 -51
- data/spec/puppet-lint/plugins/check_strings/single_quote_string_with_variables_spec.rb +24 -0
- data/spec/puppet-lint/plugins/check_strings/variables_not_enclosed_spec.rb +17 -0
- data/spec/puppet-lint/plugins/check_variables/variable_contains_dash_spec.rb +8 -0
- data/spec/spec_helper.rb +5 -0
- metadata +9 -17
@@ -14,4 +14,28 @@ describe 'single_quote_string_with_variables' do
|
|
14
14
|
expect(problems).to contain_error(msg).on_line(1).in_column(8)
|
15
15
|
end
|
16
16
|
end
|
17
|
+
|
18
|
+
context 'single quoted inline template with dollar signs has no problems' do
|
19
|
+
let (:code) {"
|
20
|
+
$list = ['one', 'two', 'three']
|
21
|
+
file { '/tmp/text.txt':
|
22
|
+
ensure => file,
|
23
|
+
content => inline_template('<% $list.each |$item| { %><%= \"${item}\n\" %><% } %>'),
|
24
|
+
}
|
25
|
+
"}
|
26
|
+
|
27
|
+
it { expect(problems).to have(0).problem }
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'single quoted inline epp with dollar signs has no problems' do
|
31
|
+
let (:code) {"
|
32
|
+
$list = ['one', 'two', 'three']
|
33
|
+
file { '/tmp/text.txt':
|
34
|
+
ensure => file,
|
35
|
+
content => inline_template('<% @list.each do |item| %><%= @item %>\n<% end %>'),
|
36
|
+
}
|
37
|
+
"}
|
38
|
+
|
39
|
+
it { expect(problems).to have(0).problem }
|
40
|
+
end
|
17
41
|
end
|
@@ -69,5 +69,22 @@ describe 'variables_not_enclosed' do
|
|
69
69
|
expect(manifest).to eq(("'groovy'\n" * 20) + '" ${gronk}"')
|
70
70
|
end
|
71
71
|
end
|
72
|
+
|
73
|
+
context 'variables not enclosed in {}, delimited by -' do
|
74
|
+
let(:code) { '"$foo-$bar"' }
|
75
|
+
|
76
|
+
it 'should only detect two problems' do
|
77
|
+
expect(problems).to have(2).problems
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'should fix the manifest' do
|
81
|
+
expect(problems).to contain_fixed(msg).on_line(1).in_column(2)
|
82
|
+
expect(problems).to contain_fixed(msg).on_line(1).in_column(7)
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'should enclose both variables in braces' do
|
86
|
+
expect(manifest).to eq('"${foo}-${bar}"')
|
87
|
+
end
|
88
|
+
end
|
72
89
|
end
|
73
90
|
end
|
@@ -34,4 +34,12 @@ describe 'variable_contains_dash' do
|
|
34
34
|
expect(problems).to be_empty
|
35
35
|
end
|
36
36
|
end
|
37
|
+
|
38
|
+
context 'enclosed variable in a string followed by a dash' do
|
39
|
+
let(:code) { '"${variable}-is-ok"' }
|
40
|
+
|
41
|
+
it 'should not detect any problems' do
|
42
|
+
expect(problems).to be_empty
|
43
|
+
end
|
44
|
+
end
|
37
45
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Sharpe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: github_changelog_generator
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
11
|
+
date: 2016-12-30 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
27
13
|
description: |-
|
28
14
|
Checks your Puppet manifests against the Puppetlabs
|
29
15
|
style guide and alerts you to any discrepancies.
|
@@ -74,6 +60,7 @@ files:
|
|
74
60
|
- spec/fixtures/test/manifests/ignore_reason.pp
|
75
61
|
- spec/fixtures/test/manifests/init.pp
|
76
62
|
- spec/fixtures/test/manifests/malformed.pp
|
63
|
+
- spec/fixtures/test/manifests/mismatched_control_comment.pp
|
77
64
|
- spec/fixtures/test/manifests/url_interpolation.pp
|
78
65
|
- spec/fixtures/test/manifests/warning.pp
|
79
66
|
- spec/puppet-lint/bin_spec.rb
|
@@ -83,7 +70,9 @@ files:
|
|
83
70
|
- spec/puppet-lint/lexer_spec.rb
|
84
71
|
- spec/puppet-lint/plugins/check_classes/autoloader_layout_spec.rb
|
85
72
|
- spec/puppet-lint/plugins/check_classes/class_inherits_from_params_class_spec.rb
|
73
|
+
- spec/puppet-lint/plugins/check_classes/code_on_top_scope_spec.rb
|
86
74
|
- spec/puppet-lint/plugins/check_classes/inherits_across_namespaces_spec.rb
|
75
|
+
- spec/puppet-lint/plugins/check_classes/name_contains_uppercase_spec.rb
|
87
76
|
- spec/puppet-lint/plugins/check_classes/names_containing_dash_spec.rb
|
88
77
|
- spec/puppet-lint/plugins/check_classes/nested_classes_or_defines_spec.rb
|
89
78
|
- spec/puppet-lint/plugins/check_classes/parameter_order_spec.rb
|
@@ -148,6 +137,7 @@ test_files:
|
|
148
137
|
- spec/fixtures/test/manifests/ignore_reason.pp
|
149
138
|
- spec/fixtures/test/manifests/init.pp
|
150
139
|
- spec/fixtures/test/manifests/malformed.pp
|
140
|
+
- spec/fixtures/test/manifests/mismatched_control_comment.pp
|
151
141
|
- spec/fixtures/test/manifests/url_interpolation.pp
|
152
142
|
- spec/fixtures/test/manifests/warning.pp
|
153
143
|
- spec/puppet-lint/bin_spec.rb
|
@@ -157,7 +147,9 @@ test_files:
|
|
157
147
|
- spec/puppet-lint/lexer_spec.rb
|
158
148
|
- spec/puppet-lint/plugins/check_classes/autoloader_layout_spec.rb
|
159
149
|
- spec/puppet-lint/plugins/check_classes/class_inherits_from_params_class_spec.rb
|
150
|
+
- spec/puppet-lint/plugins/check_classes/code_on_top_scope_spec.rb
|
160
151
|
- spec/puppet-lint/plugins/check_classes/inherits_across_namespaces_spec.rb
|
152
|
+
- spec/puppet-lint/plugins/check_classes/name_contains_uppercase_spec.rb
|
161
153
|
- spec/puppet-lint/plugins/check_classes/names_containing_dash_spec.rb
|
162
154
|
- spec/puppet-lint/plugins/check_classes/nested_classes_or_defines_spec.rb
|
163
155
|
- spec/puppet-lint/plugins/check_classes/parameter_order_spec.rb
|