Skip to content

Commit f867b79

Browse files
committed
(maint) Splat hash explicitly
Ruby 3 removed support for passing a hash as the last parameter and having it auto convert to keyword parameters. Use double splat so it's clear we're passing keyword arguments.
1 parent 95130f8 commit f867b79

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

spec/unit/http/service/compiler_spec.rb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@
287287
expect(request.headers).to_not include('X-Puppet-Profiling')
288288
end.to_return(**catalog_response)
289289

290-
subject.post_catalog4(certname, payload)
290+
subject.post_catalog4(certname, **payload)
291291
end
292292

293293
it 'defaults the server and port based on settings' do
@@ -297,7 +297,7 @@
297297
stub_request(:post, "https://compiler2.example.com:8141/puppet/v4/catalog")
298298
.to_return(**catalog_response)
299299

300-
subject.post_catalog4(certname, payload)
300+
subject.post_catalog4(certname, **payload)
301301
end
302302

303303
it 'includes puppet headers set via the :http_extra_headers and :profile settings' do
@@ -307,14 +307,14 @@
307307
Puppet[:http_extra_headers] = 'Example-Header:real-thing,another:thing'
308308
Puppet[:profile] = true
309309

310-
subject.post_catalog4(certname, payload)
310+
subject.post_catalog4(certname, **payload)
311311
end
312312

313313
it 'returns a deserialized catalog' do
314314
stub_request(:post, uri)
315315
.to_return(**catalog_response)
316316

317-
_, cat, _ = subject.post_catalog4(certname, payload)
317+
_, cat, _ = subject.post_catalog4(certname, **payload)
318318
expect(cat).to be_a(Puppet::Resource::Catalog)
319319
expect(cat.name).to eq(certname)
320320
end
@@ -323,7 +323,7 @@
323323
stub_request(:post, uri)
324324
.to_return(**catalog_response)
325325

326-
resp, _, _ = subject.post_catalog4(certname, payload)
326+
resp, _, _ = subject.post_catalog4(certname, **payload)
327327
expect(resp).to be_a(Puppet::HTTP::Response)
328328
end
329329

@@ -332,7 +332,7 @@
332332
.to_return(status: [500, "Server Error"])
333333

334334
expect {
335-
subject.post_catalog4(certname, payload)
335+
subject.post_catalog4(certname, **payload)
336336
}.to raise_error do |err|
337337
expect(err).to be_an_instance_of(Puppet::HTTP::ResponseError)
338338
expect(err.message).to eq('Server Error')
@@ -345,7 +345,7 @@
345345
.to_return(body: "this isn't valid JSON", headers: {'Content-Type' => 'application/json'})
346346

347347
expect {
348-
subject.post_catalog4(certname, payload)
348+
subject.post_catalog4(certname, **payload)
349349
}.to raise_error do |err|
350350
expect(err).to be_an_instance_of(Puppet::HTTP::SerializationError)
351351
expect(err.message).to match(/Failed to deserialize catalog from puppetserver response/)
@@ -357,7 +357,7 @@
357357
.to_return(body: {oops: 'bad response data'}.to_json, headers: {'Content-Type' => 'application/json'})
358358

359359
expect {
360-
subject.post_catalog4(certname, payload)
360+
subject.post_catalog4(certname, **payload)
361361
}.to raise_error do |err|
362362
expect(err).to be_an_instance_of(Puppet::HTTP::SerializationError)
363363
expect(err.message).to match(/Failed to deserialize catalog from puppetserver response/)
@@ -366,15 +366,15 @@
366366

367367
it 'raises ArgumentError when the `persistence` hash does not contain required keys' do
368368
payload[:persistence].delete(:facts)
369-
expect { subject.post_catalog4(certname, payload) }.to raise_error do |err|
369+
expect { subject.post_catalog4(certname, **payload) }.to raise_error do |err|
370370
expect(err).to be_an_instance_of(ArgumentError)
371371
expect(err.message).to match(/The 'persistence' hash is missing the keys: facts/)
372372
end
373373
end
374374

375375
it 'raises ArgumentError when `facts` are not a Hash' do
376376
payload[:facts] = Puppet::Node::Facts.new(certname)
377-
expect { subject.post_catalog4(certname, payload) }.to raise_error do |err|
377+
expect { subject.post_catalog4(certname, **payload) }.to raise_error do |err|
378378
expect(err).to be_an_instance_of(ArgumentError)
379379
expect(err.message).to match(/Facts must be a Hash not a Puppet::Node::Facts/)
380380
end

0 commit comments

Comments
 (0)