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.
@@ -274,12 +274,8 @@ module Scooter
274
274
 
275
275
  describe '.acquire_token_with_credentials' do
276
276
  before do
277
- # find the index of the default Faraday::Adapter::NetHttp handler
278
- # and replace it with the Test adapter
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
- index = subject.connection.builder.handlers.index(Faraday::Adapter::NetHttp)
299
- subject.connection.builder.swap(index, Faraday::Adapter::Test) do |stub|
300
- stub.post('/rbac-api/v1/auth/token') { [401, {}, 'unauthorized'] }
301
- end
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(Faraday::ClientError)
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
- # find the index of the default Faraday::Adapter::NetHttp handler
312
- # and replace it with the Test adapter
313
- index = subject.connection.builder.handlers.index(Faraday::Adapter::NetHttp)
314
- subject.connection.builder.swap(index, Faraday::Adapter::Test) do |stub|
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 be_nil
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
- # find the index of the default Faraday::Adapter::NetHttp handler
367
- # and replace it with the Test adapter
368
- index = subject.connection.builder.handlers.index(Faraday::Adapter::NetHttp)
369
- subject.connection.builder.swap(index, Faraday::Adapter::Test) do |stub|
370
- stub.get('rbac-api/v1/users') { |env| env[:url].to_s == "https://test.com:4433/rbac-api/v1/users" ?
371
- [200, [], user_list] :
372
- [200, [], user_list.dup.push('another_array_item')] }
373
- stub.get('rbac-api/v1/groups') { |env| env[:url].to_s == "https://test.com:4433/rbac-api/v1/groups" ?
374
- [200, [], group_list] :
375
- [200, [], group_list.dup.push('another_array_item')] }
376
- stub.get('rbac-api/v1/roles') { |env| env[:url].to_s == "https://test.com:4433/rbac-api/v1/roles" ?
377
- [200, [], role_list] :
378
- [200, [], role_list.dup.push('another_array_item')] }
379
- end
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
@@ -1,4 +1,6 @@
1
1
  require 'scooter'
2
+ require 'webmock/rspec'
3
+
2
4
  RSpec.configure do |c|
3
5
 
4
6
  end
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.3.2
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: 2019-09-06 00:00:00.000000000 Z
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: '1.6'
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: '1.6'
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.9.12
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.9.12
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: 0.3.0
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: 0.3.0
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.6
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.6
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: '3.0'
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: '3.0'
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: '1.8'
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: '1.8'
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.6'
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.6'
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.9.1
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.9.1
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: '0.9'
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: '0.9'
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.6
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.6
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
- rubyforge_project:
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