puppet-lint-global_definition-check 0.4.0 → 0.4.2

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
  SHA256:
3
- metadata.gz: 83f49eb058c88589fba6ae40663949eedb9d23c76b4b0611b10b138569ad6a91
4
- data.tar.gz: 41b8e536eb95df3fdc0d3755dae5195f15bd906dfdd54bb4409cbed17809ec6b
3
+ metadata.gz: 2896bfc30e8ea8bb554cf3bb9d287ccd67f77365fb3cc35d505206d34508cc24
4
+ data.tar.gz: cff254e83cf89d4d6e6bf11bfbb0052d41b85918a7a7760342daa0c5b96ddf76
5
5
  SHA512:
6
- metadata.gz: 16bc7ad6b276ad7491dbc5200929c6bb58e9a13f7af17cb1b6f84782c947e0d61c051a1d4fb9ef603b90c3f91853a5b3427b7da9f59d523b9d0ab3d295c5f234
7
- data.tar.gz: a955faeb4f1cef540723ab8f11c37e8c1fe96c3a52566a3c1e8809fe8026dab940b13c9a16b2bd2dc2b4debbc6499bc69e275b8cd052b7e8db0fa6b5b7bcfdec
6
+ metadata.gz: '0294aea977236fe3bfb2f6e34e423f1cc097e51e774691971ffc0db022709d896be7f112b55193d627dea3ef5c9a6ff4fb0ea7e024ce48a515a7b90a1d5bb48e'
7
+ data.tar.gz: 9b8945fb065a3ab9261155a9fd4aceb184f82f6b97f93af4a3fc62de5fca0a12f0d18d9de47b1e32712c29cc21649be8a741aa8d9baef5e10626974ff706bfc1
@@ -1,12 +1,12 @@
1
1
  module PuppetLintGlobalDefinionCheck
2
2
  private
3
3
 
4
- def check_for_global_token(type, value = nil)
5
- global_tokens.each_with_index do |token, i|
4
+ def check_for_global_token(type)
5
+ global_tokens.each do |token|
6
6
  next unless token.type == type
7
- next unless value.nil? || token.value == value
8
7
 
9
- message = value.nil? ? token.value : "#{token.value} #{token.next_code_token.value}"
8
+ message = yield(token)
9
+ next unless message
10
10
 
11
11
  notify :error,
12
12
  message: "definition #{message} in global space",
@@ -37,7 +37,9 @@ PuppetLint.new_check(:global_resource) do
37
37
 
38
38
  def check
39
39
  check_for_global_resources
40
- check_for_global_token(:NAME, "include")
40
+ check_for_global_token(:NAME) do |token|
41
+ "#{token.value} #{token.next_code_token.value}" if token.value == "include"
42
+ end
41
43
  end
42
44
 
43
45
  def check_for_global_resources
@@ -56,6 +58,8 @@ PuppetLint.new_check(:global_function) do
56
58
  include PuppetLintGlobalDefinionCheck
57
59
 
58
60
  def check
59
- check_for_global_token(:FUNCTION_NAME)
61
+ check_for_global_token(:FUNCTION_NAME) do |token|
62
+ "#{token.value} #{token.next_code_token.value}" unless !token.prev_code_token.nil? && token.prev_code_token.type == :FUNCTION
63
+ end
60
64
  end
61
65
  end
@@ -1,53 +1,49 @@
1
1
  require "spec_helper"
2
2
 
3
- describe "global_resource" do
4
- context "just a class" do
5
- let(:code) { "class test { file { 'file': } }" }
6
-
7
- it "should not detect any problems" do
8
- expect(problems).to have(0).problems
9
- end
10
- end
11
-
12
- context "just a define" do
13
- let(:code) { "define test ($param = undef) { file { 'file': } }" }
14
-
15
- it "should not detect any problems" do
16
- expect(problems).to have(0).problems
3
+ describe "global_function" do
4
+ context "just a function" do
5
+ let(:code) do
6
+ <<-EOS
7
+ class test {
8
+ ensure_packages(['wordpress']);
9
+ }
10
+ EOS
17
11
  end
18
- end
19
-
20
- context "allow node resources" do
21
- let(:code) { "node 'test' { file { 'file': } }" }
22
12
 
23
13
  it "should not detect any problems" do
24
14
  expect(problems).to have(0).problems
25
15
  end
26
16
  end
27
17
 
28
- context "global file" do
18
+ context "global functions" do
29
19
  let(:code) do
30
- "file { 'file': } define test ($param = undef) { file { 'file': } }"
31
- end
20
+ <<-EOS
21
+ class test {
22
+ ensure_packages(['wordpress']);
23
+ }
32
24
 
33
- it "should detect a problem" do
34
- expect(problems).to have(1).problems
25
+ ensure_packages(['wordpress']);
26
+ EOS
35
27
  end
36
- end
37
-
38
- context "global includes" do
39
- let(:code) { "class test { file { 'file': } } \ninclude testclass" }
40
28
 
41
29
  it "should detect a problem" do
42
30
  expect(problems).to have(1).problems
43
31
  end
44
32
  end
45
33
 
46
- context "global defaults" do
34
+ context "module function definition" do
47
35
  let(:code) do
48
36
  <<-EOS
49
- Exec {
50
- path => '/usr/bin:/usr/sbin/:/bin:/sbin',
37
+ # @summary function to clean hash of undef and empty values
38
+ function nine_networkinterfaces::delete_empty_values(
39
+ Hash $hash,
40
+ ) >> Hash {
41
+ $hash.filter |$key, $value| {
42
+ case $value {
43
+ Collection: { $value =~ NotUndef and !$value.empty }
44
+ default: { $value =~ NotUndef }
45
+ }
46
+ }
51
47
  }
52
48
  EOS
53
49
  end
@@ -1,33 +1,59 @@
1
1
  require "spec_helper"
2
2
 
3
- describe "global_function" do
4
- context "just a function" do
5
- let(:code) do
6
- <<-EOS
7
- class test {
8
- ensure_packages(['wordpress']);
9
- }
10
- EOS
3
+ describe "global_resource" do
4
+ context "just a class" do
5
+ let(:code) { "class test { file { 'file': } }" }
6
+
7
+ it "should not detect any problems" do
8
+ expect(problems).to have(0).problems
11
9
  end
10
+ end
11
+
12
+ context "just a define" do
13
+ let(:code) { "define test ($param = undef) { file { 'file': } }" }
12
14
 
13
15
  it "should not detect any problems" do
14
16
  expect(problems).to have(0).problems
15
17
  end
16
18
  end
17
19
 
18
- context "global functions" do
20
+ context "allow node resources" do
21
+ let(:code) { "node 'test' { file { 'file': } }" }
22
+
23
+ it "should not detect any problems" do
24
+ expect(problems).to have(0).problems
25
+ end
26
+ end
27
+
28
+ context "global file" do
19
29
  let(:code) do
20
- <<-EOS
21
- class test {
22
- ensure_packages(['wordpress']);
23
- }
30
+ "file { 'file': } define test ($param = undef) { file { 'file': } }"
31
+ end
24
32
 
25
- ensure_packages(['wordpress']);
26
- EOS
33
+ it "should detect a problem" do
34
+ expect(problems).to have(1).problems
27
35
  end
36
+ end
37
+
38
+ context "global includes" do
39
+ let(:code) { "class test { file { 'file': } } \ninclude testclass" }
28
40
 
29
41
  it "should detect a problem" do
30
42
  expect(problems).to have(1).problems
31
43
  end
32
44
  end
45
+
46
+ context "global defaults" do
47
+ let(:code) do
48
+ <<-EOS
49
+ Exec {
50
+ path => '/usr/bin:/usr/sbin/:/bin:/sbin',
51
+ }
52
+ EOS
53
+ end
54
+
55
+ it "should not detect any problems" do
56
+ expect(problems).to have(0).problems
57
+ end
58
+ end
33
59
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-lint-global_definition-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nine Internet Solutions AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-27 00:00:00.000000000 Z
11
+ date: 2023-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet-lint