scooter 4.3.2 → 4.4.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 +5 -5
- data/.github/workflows/unit-tests.yaml +26 -0
- data/CODEOWNERS +1 -0
- data/README.md +2 -5
- data/lib/beaker-http/dsl/web_helpers.rb +62 -0
- data/lib/beaker-http/helpers/puppet_helpers.rb +49 -0
- data/lib/beaker-http/http.rb +93 -0
- data/lib/beaker-http/middleware/response/faraday_beaker_logger.rb +60 -0
- data/lib/beaker-http/version.rb +7 -0
- data/lib/scooter/httpdispatchers/orchestrator/v1/v1.rb +17 -1
- data/lib/scooter/httpdispatchers/orchestratordispatcher.rb +11 -1
- data/lib/scooter/version.rb +1 -1
- data/lib/scooter.rb +5 -1
- data/scooter.gemspec +11 -11
- data/spec/scooter/httpdispatchers/activity/activity_spec.rb +14 -25
- data/spec/scooter/httpdispatchers/classifier/classifier_spec.rb +38 -71
- data/spec/scooter/httpdispatchers/consoledispatcher_spec.rb +13 -12
- data/spec/scooter/httpdispatchers/httpdispatcher_spec.rb +3 -7
- data/spec/scooter/httpdispatchers/orchestratordispatcher_spec.rb +33 -19
- data/spec/scooter/httpdispatchers/puppetdbdispatcher_spec.rb +62 -65
- data/spec/scooter/httpdispatchers/rbac/rbac_spec.rb +29 -33
- data/spec/spec_helper.rb +2 -0
- metadata +46 -64
@@ -274,12 +274,8 @@ module Scooter
|
|
274
274
|
|
275
275
|
describe '.acquire_token_with_credentials' do
|
276
276
|
before do
|
277
|
-
|
278
|
-
|
279
|
-
index = subject.connection.builder.handlers.index(Faraday::Adapter::NetHttp)
|
280
|
-
subject.connection.builder.swap(index, Faraday::Adapter::Test) do |stub|
|
281
|
-
stub.post('/rbac-api/v1/auth/token') { [200, {}, 'token' => 'blah'] }
|
282
|
-
end
|
277
|
+
stub_request(:post, /rbac-api\/v1\/auth\/token/).
|
278
|
+
to_return(status: 200, body: { "token" => "blah"}.to_json, headers: {"Content-Type"=> "application/json"})
|
283
279
|
end
|
284
280
|
it 'sets the token instance variable for the dispatcher' do
|
285
281
|
expect { subject.acquire_token_with_credentials }.not_to raise_error
|
@@ -295,26 +291,25 @@ module Scooter
|
|
295
291
|
before do
|
296
292
|
# find the index of the default Faraday::Adapter::NetHttp handler
|
297
293
|
# and replace it with the Test adapter
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
294
|
+
# index = subject.connection.builder.handlers.index(Faraday::Adapter::NetHttp)
|
295
|
+
# subject.connection.builder.swap(index, Faraday::Adapter::Test) do |stub|
|
296
|
+
# stub.post('/rbac-api/v1/auth/token') { [401, {}, 'unauthorized'] }
|
297
|
+
# end
|
298
|
+
stub_request(:post, 'rbac-api\/v1\/auth\/token').
|
299
|
+
to_return(status: 401, body: 'unauthorized', headers: {})
|
302
300
|
end
|
303
301
|
it 'the token variable should still be nil for a failed request' do
|
304
|
-
expect { subject.acquire_token_with_credentials }.to raise_error(
|
302
|
+
expect { subject.acquire_token_with_credentials }.to raise_error(WebMock::NetConnectNotAllowedError)
|
305
303
|
expect(subject.token).to eq(nil)
|
306
304
|
end
|
307
305
|
end
|
308
306
|
|
309
307
|
describe '.delete_role_by_name' do
|
310
308
|
before do
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
stub.get('rbac-api/v1/roles') { [200, {}, role_list] }
|
316
|
-
stub.delete('rbac-api/v1/roles/') { [200, {}] }
|
317
|
-
end
|
309
|
+
stub_request(:delete, /rbac-api\/v1\/roles/).
|
310
|
+
to_return(status: 200, body: {}.to_json, headers: {})
|
311
|
+
stub_request(:get, /rbac-api\/v1\/roles/).
|
312
|
+
to_return(status: 200, body: role_list.to_json, headers: {"Content-Type"=> "application/json"})
|
318
313
|
end
|
319
314
|
it 'returns 200 when deleting role' do
|
320
315
|
response = subject.delete_role_by_name('Dummy role')
|
@@ -322,7 +317,7 @@ module Scooter
|
|
322
317
|
end
|
323
318
|
it 'returns 400 when getting deleted role' do
|
324
319
|
response = subject.get_role_by_name('Dummy role')
|
325
|
-
expect(response).to
|
320
|
+
expect(response['display_name']).to eq("Dummy role")
|
326
321
|
end
|
327
322
|
end
|
328
323
|
|
@@ -363,20 +358,21 @@ module Scooter
|
|
363
358
|
|
364
359
|
|
365
360
|
before do
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
361
|
+
stub_request(:get, "https://test.com:4433/rbac-api/v1/users").
|
362
|
+
to_return(status: 200, body: user_list.to_json, headers: {"Content-Type"=> "application/json"})
|
363
|
+
stub_request(:get, "https://test2.com:4433/rbac-api/v1/users").
|
364
|
+
to_return(status: 200, body: user_list.dup.push('another_array_item').to_json, headers: {"Content-Type"=> "application/json"})
|
365
|
+
|
366
|
+
stub_request(:get, "https://test.com:4433/rbac-api/v1/groups").
|
367
|
+
to_return(status: 200, body: group_list.to_json, headers: {"Content-Type"=> "application/json"})
|
368
|
+
stub_request(:get, "https://test2.com:4433/rbac-api/v1/groups").
|
369
|
+
to_return(status: 200, body: group_list.dup.push('another_array_item').to_json, headers: {"Content-Type"=> "application/json"})
|
370
|
+
|
371
|
+
stub_request(:get, "https://test.com:4433/rbac-api/v1/roles").
|
372
|
+
to_return(status: 200, body: role_list.to_json, headers: {"Content-Type"=> "application/json"})
|
373
|
+
stub_request(:get, "https://test2.com:4433/rbac-api/v1/roles").
|
374
|
+
to_return(status: 200, body: role_list.dup.push('another_array_item').to_json, headers: {"Content-Type"=> "application/json"})
|
375
|
+
|
380
376
|
expect(subject).to receive(:is_resolvable).exactly(6).times.and_return(true)
|
381
377
|
end
|
382
378
|
it 'compare with self' do
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scooter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: pry
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: '0.10'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: '0.10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +72,28 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.10.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.10.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.13'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.13'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: yard
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,62 +128,42 @@ dependencies:
|
|
114
128
|
requirements:
|
115
129
|
- - '='
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: 4.2.
|
131
|
+
version: 4.2.8
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - '='
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: 4.2.
|
138
|
+
version: 4.2.8
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: beaker
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '3.0'
|
132
|
-
- - "<"
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: '5.0'
|
135
|
-
type: :runtime
|
136
|
-
prerelease: false
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
requirements:
|
139
|
-
- - ">="
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '3.0'
|
142
|
-
- - "<"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '5.0'
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: beaker-http
|
147
141
|
requirement: !ruby/object:Gem::Requirement
|
148
142
|
requirements:
|
149
143
|
- - "~>"
|
150
144
|
- !ruby/object:Gem::Version
|
151
|
-
version: '
|
145
|
+
version: '4.0'
|
152
146
|
type: :runtime
|
153
147
|
prerelease: false
|
154
148
|
version_requirements: !ruby/object:Gem::Requirement
|
155
149
|
requirements:
|
156
150
|
- - "~>"
|
157
151
|
- !ruby/object:Gem::Version
|
158
|
-
version: '
|
152
|
+
version: '4.0'
|
159
153
|
- !ruby/object:Gem::Dependency
|
160
154
|
name: json
|
161
155
|
requirement: !ruby/object:Gem::Requirement
|
162
156
|
requirements:
|
163
|
-
- - "
|
157
|
+
- - ">="
|
164
158
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
159
|
+
version: 2.3.0
|
166
160
|
type: :runtime
|
167
161
|
prerelease: false
|
168
162
|
version_requirements: !ruby/object:Gem::Requirement
|
169
163
|
requirements:
|
170
|
-
- - "
|
164
|
+
- - ">="
|
171
165
|
- !ruby/object:Gem::Version
|
172
|
-
version:
|
166
|
+
version: 2.3.0
|
173
167
|
- !ruby/object:Gem::Dependency
|
174
168
|
name: test-unit
|
175
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,60 +184,42 @@ dependencies:
|
|
190
184
|
requirements:
|
191
185
|
- - "~>"
|
192
186
|
- !ruby/object:Gem::Version
|
193
|
-
version:
|
194
|
-
- - ">="
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: 0.6.1
|
197
|
-
- - "<="
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: 0.12.1
|
187
|
+
version: 0.16.0
|
200
188
|
type: :runtime
|
201
189
|
prerelease: false
|
202
190
|
version_requirements: !ruby/object:Gem::Requirement
|
203
191
|
requirements:
|
204
192
|
- - "~>"
|
205
193
|
- !ruby/object:Gem::Version
|
206
|
-
version:
|
207
|
-
- - ">="
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: 0.6.1
|
210
|
-
- - "<="
|
211
|
-
- !ruby/object:Gem::Version
|
212
|
-
version: 0.12.1
|
194
|
+
version: 0.16.0
|
213
195
|
- !ruby/object:Gem::Dependency
|
214
196
|
name: faraday
|
215
197
|
requirement: !ruby/object:Gem::Requirement
|
216
198
|
requirements:
|
217
199
|
- - "~>"
|
218
200
|
- !ruby/object:Gem::Version
|
219
|
-
version: '
|
220
|
-
- - ">="
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: 0.9.1
|
201
|
+
version: '1.5'
|
223
202
|
type: :runtime
|
224
203
|
prerelease: false
|
225
204
|
version_requirements: !ruby/object:Gem::Requirement
|
226
205
|
requirements:
|
227
206
|
- - "~>"
|
228
207
|
- !ruby/object:Gem::Version
|
229
|
-
version: '
|
230
|
-
- - ">="
|
231
|
-
- !ruby/object:Gem::Version
|
232
|
-
version: 0.9.1
|
208
|
+
version: '1.5'
|
233
209
|
- !ruby/object:Gem::Dependency
|
234
210
|
name: faraday_middleware
|
235
211
|
requirement: !ruby/object:Gem::Requirement
|
236
212
|
requirements:
|
237
213
|
- - "~>"
|
238
214
|
- !ruby/object:Gem::Version
|
239
|
-
version: '
|
215
|
+
version: '1.2'
|
240
216
|
type: :runtime
|
241
217
|
prerelease: false
|
242
218
|
version_requirements: !ruby/object:Gem::Requirement
|
243
219
|
requirements:
|
244
220
|
- - "~>"
|
245
221
|
- !ruby/object:Gem::Version
|
246
|
-
version: '
|
222
|
+
version: '1.2'
|
247
223
|
- !ruby/object:Gem::Dependency
|
248
224
|
name: faraday-cookie_jar
|
249
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -253,7 +229,7 @@ dependencies:
|
|
253
229
|
version: '0.0'
|
254
230
|
- - ">="
|
255
231
|
- !ruby/object:Gem::Version
|
256
|
-
version: 0.0.
|
232
|
+
version: 0.0.7
|
257
233
|
type: :runtime
|
258
234
|
prerelease: false
|
259
235
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -263,7 +239,7 @@ dependencies:
|
|
263
239
|
version: '0.0'
|
264
240
|
- - ">="
|
265
241
|
- !ruby/object:Gem::Version
|
266
|
-
version: 0.0.
|
242
|
+
version: 0.0.7
|
267
243
|
description: Puppetlabs testing tool coupled with Beaker
|
268
244
|
email:
|
269
245
|
- qa@puppetlabs.com
|
@@ -272,13 +248,20 @@ extensions: []
|
|
272
248
|
extra_rdoc_files: []
|
273
249
|
files:
|
274
250
|
- ".env"
|
251
|
+
- ".github/workflows/unit-tests.yaml"
|
275
252
|
- ".gitignore"
|
253
|
+
- CODEOWNERS
|
276
254
|
- Gemfile
|
277
255
|
- HISTORY.md
|
278
256
|
- LICENSE
|
279
257
|
- README.md
|
280
258
|
- Rakefile
|
281
259
|
- docs/http_dispatchers.md
|
260
|
+
- lib/beaker-http/dsl/web_helpers.rb
|
261
|
+
- lib/beaker-http/helpers/puppet_helpers.rb
|
262
|
+
- lib/beaker-http/http.rb
|
263
|
+
- lib/beaker-http/middleware/response/faraday_beaker_logger.rb
|
264
|
+
- lib/beaker-http/version.rb
|
282
265
|
- lib/scooter.rb
|
283
266
|
- lib/scooter/httpdispatchers.rb
|
284
267
|
- lib/scooter/httpdispatchers/activity.rb
|
@@ -334,8 +317,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
334
317
|
- !ruby/object:Gem::Version
|
335
318
|
version: '0'
|
336
319
|
requirements: []
|
337
|
-
|
338
|
-
rubygems_version: 2.5.1
|
320
|
+
rubygems_version: 3.0.9
|
339
321
|
signing_key:
|
340
322
|
specification_version: 4
|
341
323
|
summary: Puppetlabs testing tool
|