puppet-ci-testing 0.16.0 → 0.16.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 928347f53049919abab4494bef43d7181e015b598b6bbae4688e42070ed498b8
4
- data.tar.gz: 379237a85a0ae3c4ef5549c109e84ee69b39df18b5574af3bd04077676d854b8
3
+ metadata.gz: '09db4de24d2d8e1e8bb604cd574bf11b5a05ca169ac8e48d65cba8854947602d'
4
+ data.tar.gz: 6b325a5203b582736e39df99aba994dc72bc966d3353c2fa20b24c2dd8b7d768
5
5
  SHA512:
6
- metadata.gz: 3fc973af4473990e3397fad7ec2d0af3230244a2ecd578b5d3260866cd74740b9951f8fac35d97505ef84789b8bf608d9274c2ced1293a54a364083a162193f3
7
- data.tar.gz: 862541f3915b9e0ea356af25abf8442af5342d77b1c9b3c722764bf40e38ee83baf04f12b839934fa1513f4f6b48f25ed5adefa7bc4897928b50a28b06b5c68f
6
+ metadata.gz: 83565908b56c3f01487079742f790304d274fa700fa16a60941cfb7f87be76f392cddf07f6801ad811426031fa98b0b40e5541e96f1be4dcebed65ffec0347eb
7
+ data.tar.gz: bea9c2bfe42f523f6537fecd99f19832eaa7e27222ed19251328a2e7fd5826cf75019881e96d39fa24f34557544bbc9ddbbc1ccc7caac13cdb5d8d386c3012c0
@@ -113,11 +113,11 @@ else
113
113
  tc = test_suite.create_testcase('File syntax', path)
114
114
  case status
115
115
  when :passed
116
- tc.passed(output: output)
116
+ tc.pass(output: output)
117
117
  when :failed
118
- tc.failed(type: 'syntax_error', output: '', error: output)
118
+ tc.fail(type: 'syntax_error', output: '', error: output)
119
119
  when :skipped
120
- tc.skipped
120
+ tc.skip
121
121
  end
122
122
  end
123
123
  end
@@ -29,8 +29,7 @@ end
29
29
 
30
30
  module CheckFileSyntax
31
31
 
32
- ALL_CHECKS = [:puppet, :ruby, :python, :perl, :bash, :erb, :yaml, :json,
33
- :gitlab_ci]
32
+ ALL_CHECKS = [:puppet, :ruby, :python, :perl, :bash, :erb, :yaml, :json]
34
33
 
35
34
  module_function
36
35
  def type_of_file(path, interpreter, extensions)
@@ -178,35 +177,42 @@ module CheckFileSyntax
178
177
  elsif gitlab_ci_file? path
179
178
  ci_content = YAML.load_file(path)
180
179
 
181
- token_file = ENV['CI_LINT_TOKEN'] || "#{Dir.home}/.gitlab-tokens"
182
- if File.readable?(token_file)
183
- tokens = YAML.load_file(token_file)
184
- # Any token should work
185
- priv_token = tokens.values()[0]
186
-
187
- begin
188
- uri = URI.parse('https://gitlab.com/api/v4/ci/lint')
189
- http = Net::HTTP.new(uri.host, uri.port)
190
- http.use_ssl = true
191
- #Net::HTTP.enable_debug!
192
- request = Net::HTTP::Post.new(uri.path, {
193
- 'Content-Type' => 'application/json',
194
- 'Accept' => 'application/json',
195
- 'PRIVATE-TOKEN' => 'ShgK6TXXENFtKA5RWC8U'
196
- })
197
- request.body = {content: ci_content.to_json}.to_json
198
- response = http.request(request)
199
- rescue => e
200
- puts "Exception: #{e}"
201
- end
202
- results = JSON.parse(response.body)
203
- case results['status']
204
- when 'valid'
205
- status = :passed
206
- when 'invalid'
207
- status = :failed
180
+ if ENV.has_key?('CI_LINT_TOKEN')
181
+ priv_token = ENV['CI_LINT_TOKEN']
182
+ else
183
+ token_file = "#{Dir.home}/.gitlab-tokens"
184
+ if File.readable?(token_file)
185
+ tokens = YAML.load_file(token_file)
186
+ # Any token should work
187
+ priv_token = tokens.values()[0]
208
188
  end
209
189
  end
190
+
191
+ begin
192
+ uri = URI.parse('https://gitlab.com/api/v4/ci/lint')
193
+ http = Net::HTTP.new(uri.host, uri.port)
194
+ http.use_ssl = true
195
+ Net::HTTP.enable_debug!
196
+ request = Net::HTTP::Post.new(uri.path, {
197
+ 'Content-Type' => 'application/json',
198
+ 'Accept' => 'application/json',
199
+ 'PRIVATE-TOKEN' => priv_token
200
+ })
201
+ request.body = {content: ci_content.to_json}.to_json
202
+ response = http.request(request)
203
+ puts response
204
+ rescue => e
205
+ puts "Exception: #{e}"
206
+ end
207
+ results = JSON.parse(response.body)
208
+ case results['status']
209
+ when 'valid'
210
+ status = :passed
211
+ when 'invalid'
212
+ status = :failed
213
+ errors = results['errors']
214
+ end
215
+
210
216
  elsif json_file? path
211
217
  begin
212
218
  JSON.parse(File.read(path))
data/lib/simple_junit.rb CHANGED
@@ -90,7 +90,7 @@ EOTS
90
90
  @output = nil
91
91
  end
92
92
 
93
- def passed(output:nil, error:nil)
93
+ def pass(output:nil, error:nil)
94
94
  @status = :passed
95
95
  unless output.nil?
96
96
  @output = output
@@ -104,7 +104,7 @@ EOTS
104
104
  @status == :passed
105
105
  end
106
106
 
107
- def failed(type:nil, output:nil, error:nil)
107
+ def fail(type:nil, output:nil, error:nil)
108
108
  @status = :failed
109
109
  @error_type = type || 'unspecified'
110
110
  unless output.nil?
@@ -2,13 +2,13 @@ require 'spec_helper'
2
2
  require 'simple_junit'
3
3
 
4
4
  describe 'SimpleJUnit' do
5
- describe 'TestSuiteCollection' do
5
+ describe 'TestSuiteCollection' do
6
6
  it 'creates an empty test suite collection' do
7
7
  tc = SimpleJUnit::TestSuiteCollection.instance
8
8
  expect(tc.testsuites).to eq []
9
9
  tc.reset
10
10
  end
11
-
11
+
12
12
  it 'creates two test suite collections' do
13
13
  tc = SimpleJUnit::TestSuiteCollection.instance
14
14
  tc.create_testsuite('foo')
@@ -16,14 +16,14 @@ describe 'SimpleJUnit' do
16
16
  expect(tc.testsuites.count).to eq 2
17
17
  tc.reset
18
18
  end
19
-
19
+
20
20
  it 'generates valid JUnit XML output' do
21
21
  tc = SimpleJUnit::TestSuiteCollection.instance
22
22
  xml = tc.to_s.gsub(/\n\s*/, "")
23
23
  expect(xml).to match /<\?xml version="1.0" encoding="UTF-8"\?><testsuites><\/testsuites>/
24
24
  tc.reset
25
25
  end
26
-
26
+
27
27
  it 'generates valid JUnit XML output with test suites' do
28
28
  tc = SimpleJUnit::TestSuiteCollection.instance
29
29
  tc.create_testsuite('foo')
@@ -35,104 +35,104 @@ describe 'SimpleJUnit' do
35
35
  tc.reset
36
36
  end
37
37
  end
38
-
39
-
38
+
39
+
40
40
  describe 'TestSuite' do
41
41
  it 'generates valid XML' do
42
42
  name = random_string(5)
43
43
  ts = SimpleJUnit::TestSuite.new(name)
44
44
  t1 = random_string(3)
45
- ts.create_testcase(t1).passed
45
+ ts.create_testcase(t1).pass
46
46
  t2 = random_string(3)
47
- ts.create_testcase(t2).failed
47
+ ts.create_testcase(t2).fail
48
48
  t3 = random_string(3)
49
- ts.create_testcase(t3).failed
49
+ ts.create_testcase(t3).fail
50
50
  t4 = random_string(3)
51
- ts.create_testcase(t4).passed
51
+ ts.create_testcase(t4).pass
52
52
  t5 = random_string(3)
53
53
  ts.create_testcase(t5).skip
54
54
  xml = ts.to_s.gsub(/\n\s*/, "")
55
55
  expect(xml).to match /<testsuite name="#{name}" errors="0" tests="5" failures="2" time="0" timestamp="[^"]+"><properties\/><testcase classname="#{t1}" time=""><\/testcase><testcase classname="#{t2}" time=""><failure message="unspecified"><\/failure><\/testcase><testcase classname="#{t3}" time=""><failure message="unspecified"><\/failure><\/testcase><testcase classname="#{t4}" time=""><\/testcase><testcase classname="#{t5}" time=""><skipped\/><\/testcase><\/testsuite>/
56
56
  end
57
-
57
+
58
58
  end
59
-
60
-
59
+
60
+
61
61
  describe 'TestCase' do
62
- it 'passed() sets internal state correctly' do
62
+ it 'pass() sets internal state correctly' do
63
63
  t = SimpleJUnit::TestCase.new('foo')
64
64
  output = random_string(30)
65
65
  error = random_string(20)
66
- t.passed(output: output, error: error)
66
+ t.pass(output: output, error: error)
67
67
  expect(t.status).to eq :passed
68
68
  expect(t.output).to eq output
69
69
  expect(t.errors).to eq error
70
70
  end
71
-
71
+
72
72
  it 'passed? test correct' do
73
73
  t = SimpleJUnit::TestCase.new('foo')
74
74
  expect(t.passed?).to eq false
75
- t.passed
75
+ t.pass
76
76
  expect(t.passed?).to eq true
77
- t.failed
77
+ t.fail
78
78
  expect(t.passed?).to eq false
79
79
  t.skip
80
80
  expect(t.passed?).to eq false
81
81
  end
82
-
83
- it 'failed() sets internal state correctly with error type' do
82
+
83
+ it 'fail() sets internal state correctly with error type' do
84
84
  t = SimpleJUnit::TestCase.new('foo')
85
85
  output = random_string(30)
86
86
  error = random_string(20)
87
- t.failed(type:'bar', output:output, error:error)
87
+ t.fail(type:'bar', output:output, error:error)
88
88
  expect(t.status).to eq :failed
89
89
  expect(t.output).to eq output
90
90
  expect(t.errors).to eq error
91
91
  end
92
-
93
- it 'failed() sets internal state correctly without error type' do
92
+
93
+ it 'fail() sets internal state correctly without error type' do
94
94
  t = SimpleJUnit::TestCase.new('foo')
95
95
  output = random_string(30)
96
96
  error = random_string(20)
97
- t.failed(:output => output, :error => error)
97
+ t.fail(:output => output, :error => error)
98
98
  expect(t.status).to eq :failed
99
99
  expect(t.output).to eq output
100
100
  expect(t.errors).to eq error
101
101
  end
102
-
102
+
103
103
  it 'failed? test correct' do
104
104
  t = SimpleJUnit::TestCase.new('foo')
105
105
  expect(t.failed?).to eq false
106
- t.failed
106
+ t.fail
107
107
  expect(t.failed?).to eq true
108
- t.passed
108
+ t.pass
109
109
  expect(t.failed?).to eq false
110
110
  t.skip
111
111
  expect(t.passed?).to eq false
112
112
  end
113
-
113
+
114
114
  it 'pending? test correct' do
115
115
  t = SimpleJUnit::TestCase.new('foo')
116
116
  expect(t.pending?).to eq true
117
- t.failed
117
+ t.fail
118
118
  expect(t.pending?).to eq false
119
- t.passed
119
+ t.pass
120
120
  expect(t.pending?).to eq false
121
121
  t.skip
122
122
  expect(t.pending?).to eq false
123
123
  end
124
-
124
+
125
125
  it 'skipped? test correct' do
126
126
  t = SimpleJUnit::TestCase.new('foo')
127
127
  expect(t.skipped?).to eq false
128
- t.failed
128
+ t.fail
129
129
  expect(t.skipped?).to eq false
130
- t.passed
130
+ t.pass
131
131
  expect(t.skipped?).to eq false
132
132
  t.skip
133
133
  expect(t.skipped?).to eq true
134
134
  end
135
-
135
+
136
136
  it 'duration is calculated correctly' do
137
137
  t = SimpleJUnit::TestCase.new('foo')
138
138
  t.start
@@ -140,18 +140,17 @@ describe 'SimpleJUnit' do
140
140
  t.finish
141
141
  expect(t.duration.to_i).to eq 2
142
142
  end
143
-
143
+
144
144
  it 'generates correct XML' do
145
145
  name = random_string(5)
146
146
  type = random_string(7)
147
147
  output = random_string(13)
148
148
  error = random_string(11)
149
149
  t = SimpleJUnit::TestCase.new(name)
150
- t.passed(output: output, error: error)
150
+ t.pass(output: output, error: error)
151
151
  xml = t.to_s.gsub(/\n\s*/, '')
152
152
  expect(xml).to match /<testcase classname="#{name}" time=""><system-out>#{output}<\/system-out><system-err>#{error}<\/system-err><\/testcase>/
153
153
  end
154
154
  end
155
155
  end
156
156
 
157
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-ci-testing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerard Hickey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-06 00:00:00.000000000 Z
11
+ date: 2022-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet