scooter 4.3.2 → 4.5.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 +33 -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 -70
@@ -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.5.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: 2023-11-15 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
|
@@ -68,18 +68,32 @@ dependencies:
|
|
68
68
|
version: 3.0.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: beaker-abs
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
89
|
+
version: '3.13'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
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
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - ">="
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
132
|
-
- - "<"
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: '5.0'
|
145
|
+
version: '0'
|
135
146
|
type: :runtime
|
136
147
|
prerelease: false
|
137
148
|
version_requirements: !ruby/object:Gem::Requirement
|
138
149
|
requirements:
|
139
150
|
- - ">="
|
140
151
|
- !ruby/object:Gem::Version
|
141
|
-
version: '
|
142
|
-
- - "<"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '5.0'
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: beaker-http
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '0.0'
|
152
|
-
type: :runtime
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '0.0'
|
152
|
+
version: '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: '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: '0'
|
173
167
|
- !ruby/object:Gem::Dependency
|
174
168
|
name: test-unit
|
175
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,80 +184,56 @@ dependencies:
|
|
190
184
|
requirements:
|
191
185
|
- - "~>"
|
192
186
|
- !ruby/object:Gem::Version
|
193
|
-
version: '0.
|
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'
|
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: '0.
|
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'
|
213
195
|
- !ruby/object:Gem::Dependency
|
214
196
|
name: faraday
|
215
197
|
requirement: !ruby/object:Gem::Requirement
|
216
198
|
requirements:
|
217
|
-
- - "~>"
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
version: '0.9'
|
220
199
|
- - ">="
|
221
200
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0
|
201
|
+
version: '0'
|
223
202
|
type: :runtime
|
224
203
|
prerelease: false
|
225
204
|
version_requirements: !ruby/object:Gem::Requirement
|
226
205
|
requirements:
|
227
|
-
- - "~>"
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: '0.9'
|
230
206
|
- - ">="
|
231
207
|
- !ruby/object:Gem::Version
|
232
|
-
version: 0
|
208
|
+
version: '0'
|
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
|
250
226
|
requirements:
|
251
|
-
- - "~>"
|
252
|
-
- !ruby/object:Gem::Version
|
253
|
-
version: '0.0'
|
254
227
|
- - ">="
|
255
228
|
- !ruby/object:Gem::Version
|
256
|
-
version: 0.0.
|
229
|
+
version: 0.0.7
|
257
230
|
type: :runtime
|
258
231
|
prerelease: false
|
259
232
|
version_requirements: !ruby/object:Gem::Requirement
|
260
233
|
requirements:
|
261
|
-
- - "~>"
|
262
|
-
- !ruby/object:Gem::Version
|
263
|
-
version: '0.0'
|
264
234
|
- - ">="
|
265
235
|
- !ruby/object:Gem::Version
|
266
|
-
version: 0.0.
|
236
|
+
version: 0.0.7
|
267
237
|
description: Puppetlabs testing tool coupled with Beaker
|
268
238
|
email:
|
269
239
|
- qa@puppetlabs.com
|
@@ -272,13 +242,20 @@ extensions: []
|
|
272
242
|
extra_rdoc_files: []
|
273
243
|
files:
|
274
244
|
- ".env"
|
245
|
+
- ".github/workflows/unit-tests.yaml"
|
275
246
|
- ".gitignore"
|
247
|
+
- CODEOWNERS
|
276
248
|
- Gemfile
|
277
249
|
- HISTORY.md
|
278
250
|
- LICENSE
|
279
251
|
- README.md
|
280
252
|
- Rakefile
|
281
253
|
- docs/http_dispatchers.md
|
254
|
+
- lib/beaker-http/dsl/web_helpers.rb
|
255
|
+
- lib/beaker-http/helpers/puppet_helpers.rb
|
256
|
+
- lib/beaker-http/http.rb
|
257
|
+
- lib/beaker-http/middleware/response/faraday_beaker_logger.rb
|
258
|
+
- lib/beaker-http/version.rb
|
282
259
|
- lib/scooter.rb
|
283
260
|
- lib/scooter/httpdispatchers.rb
|
284
261
|
- lib/scooter/httpdispatchers/activity.rb
|
@@ -334,8 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
334
311
|
- !ruby/object:Gem::Version
|
335
312
|
version: '0'
|
336
313
|
requirements: []
|
337
|
-
|
338
|
-
rubygems_version: 2.5.1
|
314
|
+
rubygems_version: 3.4.20
|
339
315
|
signing_key:
|
340
316
|
specification_version: 4
|
341
317
|
summary: Puppetlabs testing tool
|