puppet-lint-resource_reference_syntax 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 968682a225e6084c2004bde43dfb6c9ea5c738fb
4
- data.tar.gz: c996f8d7c54b06799e5c24b2b8518f035098e1d5
3
+ metadata.gz: 7535ed7a11c71f153bf11d5dfd35a06bef5044e0
4
+ data.tar.gz: ca972b966ba85a130de583157c35a2cdcfaa34b6
5
5
  SHA512:
6
- metadata.gz: 2a165376ff9f202412f4a163f0b094e8c3dee55637cfded25abc8f140f83dfa5e01ca1c13eea651df41efb5f06420ba45796152897508c3c5a66918691004d84
7
- data.tar.gz: 1fdcc56b72dfd1e71462c6422e950032412a50eb14bb7348f042f3b6d23653895c7da2882e59bd91f14875d2dd2e3abfdea61396001853a0c9c69a0a03c7625f
6
+ metadata.gz: 5d24d371e282aab9727bd12d89f3799ab03b6693538d616670ad1b5d15245b612aeb7372ede3bbf2d7a9ba935a58d43f550f1ea87970e0c0bf20d39630239703
7
+ data.tar.gz: 2c622e331ef8cb8a0b3c3a5c03d84b9724a6f05dfe86fad30b3b6a85bd289f19d9b84eea264a6b7ebf0c43d196ef21803bbeb9017e6805f6b373c98105f9ca7b
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format
2
+ documentation
3
+ --colour
data/README.md CHANGED
@@ -23,6 +23,13 @@ This plugin provides two new checks to `puppet-lint`.
23
23
  This check will raise an error for any resource reference that has a whitespace
24
24
  between the Type reference and the opening bracket.
25
25
 
26
+ e.g. the following code is NOT good for Puppet 4:
27
+
28
+ ```
29
+ require => File ['/etc/motd']
30
+ ```
31
+ and will result in the following error:
32
+
26
33
  ```
27
34
  ERROR: whitespce between reference type and title on line 4
28
35
  ```
@@ -33,7 +40,22 @@ ERROR: whitespce between reference type and title on line 4
33
40
 
34
41
  This check will raise an error for any resource reference that uses the title with capital letter without enclosed quotes.
35
42
 
43
+ e.g. the following code will not work on Puppet 4:
44
+ ```
45
+ require => Service[Apache],
46
+ require => Service[Apache, Mysql],
47
+ require => Service[apache]
48
+ ```
49
+ and will result in the following error:
36
50
  ```
37
51
  ERROR: resource reference with title with capital letter on line 4
38
52
  ```
39
53
 
54
+ The following references are good code for Puppet 4:
55
+
56
+ ```
57
+ require => Service['apache'],
58
+ require => Service['apache', 'mysql'],
59
+ require => [ Service['apache'], Service['mysql'] ],
60
+ ```
61
+
@@ -5,7 +5,7 @@ PuppetLint.new_check(:resource_reference_without_title_capital) do
5
5
  ['require', 'subscribe', 'notify', 'before', 'consume', 'export'].include? param_token.value
6
6
  }.each do |param_token|
7
7
  value_token = param_token.next_code_token.next_code_token.next_code_token.next_token
8
- unless value_token.type == :SSTRING or value_token.type == :VARIABLE
8
+ unless value_token.type == :SSTRING or value_token.type == :VARIABLE or value_token.next_token.type == :SSTRING
9
9
  notify :error, {
10
10
  :message => 'resource reference with title with capital letter',
11
11
  :line => value_token.line,
@@ -19,6 +19,22 @@ describe 'resource_reference_without_title_capital' do
19
19
  end
20
20
  end
21
21
 
22
+ context 'a proper reference as array in quotes' do
23
+ let(:code) { "file { 'foo': ensure => file, notify => Title['one', 'two'],}" }
24
+
25
+ it 'should detect no problem' do
26
+ expect(problems).to have(0).problem
27
+ end
28
+ end
29
+
30
+ context 'multiple proper references as array in quotes' do
31
+ let(:code) { "file { 'foo': ensure => file, notify => [ Title['one'], Title['two'] ],}" }
32
+
33
+ it 'should detect no problem' do
34
+ expect(problems).to have(0).problem
35
+ end
36
+ end
37
+
22
38
  context 'a proper reference as variable' do
23
39
  let(:code) { "file { 'foo': ensure => file, notify => Title[$foo_var],}" }
24
40
 
@@ -40,6 +56,32 @@ describe 'resource_reference_without_title_capital' do
40
56
  end
41
57
  end
42
58
 
59
+ context 'resource reference with title as array of capital letters' do
60
+ let(:msg) { 'resource reference with title with capital letter' }
61
+ let(:code) { "file { 'foo': ensure => file, notify => Title[One, Two],}" }
62
+
63
+ it 'should only detect a single problem' do
64
+ expect(problems).to have(1).problem
65
+ end
66
+
67
+ it 'should create an error' do
68
+ expect(problems).to contain_error(msg).on_line(1)
69
+ end
70
+ end
71
+
72
+ context 'resource reference with title as array of resource references with capital letters' do
73
+ let(:msg) { 'resource reference with title with capital letter' }
74
+ let(:code) { "file { 'foo': ensure => file, notify => [Title[One], Title[Two],]}" }
75
+
76
+ it 'should only detect a single problem' do
77
+ expect(problems).to have(1).problem
78
+ end
79
+
80
+ it 'should create an error' do
81
+ expect(problems).to contain_error(msg).on_line(1)
82
+ end
83
+ end
84
+
43
85
  context 'resource reference with title without quotes' do
44
86
  let(:msg) { 'resource reference with title with capital letter' }
45
87
  let(:code) { "file { 'foo': ensure => file, notify => Title[one],}" }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-lint-resource_reference_syntax
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Alfke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-18 00:00:00.000000000 Z
11
+ date: 2015-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet-lint
@@ -87,6 +87,7 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
+ - ".rspec"
90
91
  - LICENSE
91
92
  - README.md
92
93
  - lib/puppet-lint/plugins/resource_reference_without_title_capital.rb