scooter 4.3.0 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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