scooter 4.3.0 → 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.
@@ -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.0
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: 2018-08-28 00:00:00.000000000 Z
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: '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
@@ -72,14 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.3.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.3.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.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
- 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: '0.0'
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: '0.0'
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: '1.8'
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: '1.8'
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: '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.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: '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.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: '0.9'
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: '0.9'
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: '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
@@ -253,7 +229,7 @@ dependencies:
253
229
  version: '0.0'
254
230
  - - ">="
255
231
  - !ruby/object:Gem::Version
256
- version: 0.0.6
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.6
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
- rubyforge_project:
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