|
287 | 287 | expect(request.headers).to_not include('X-Puppet-Profiling')
|
288 | 288 | end.to_return(**catalog_response)
|
289 | 289 |
|
290 |
| - subject.post_catalog4(certname, payload) |
| 290 | + subject.post_catalog4(certname, **payload) |
291 | 291 | end
|
292 | 292 |
|
293 | 293 | it 'defaults the server and port based on settings' do
|
|
297 | 297 | stub_request(:post, "https://compiler2.example.com:8141/puppet/v4/catalog")
|
298 | 298 | .to_return(**catalog_response)
|
299 | 299 |
|
300 |
| - subject.post_catalog4(certname, payload) |
| 300 | + subject.post_catalog4(certname, **payload) |
301 | 301 | end
|
302 | 302 |
|
303 | 303 | it 'includes puppet headers set via the :http_extra_headers and :profile settings' do
|
|
307 | 307 | Puppet[:http_extra_headers] = 'Example-Header:real-thing,another:thing'
|
308 | 308 | Puppet[:profile] = true
|
309 | 309 |
|
310 |
| - subject.post_catalog4(certname, payload) |
| 310 | + subject.post_catalog4(certname, **payload) |
311 | 311 | end
|
312 | 312 |
|
313 | 313 | it 'returns a deserialized catalog' do
|
314 | 314 | stub_request(:post, uri)
|
315 | 315 | .to_return(**catalog_response)
|
316 | 316 |
|
317 |
| - _, cat, _ = subject.post_catalog4(certname, payload) |
| 317 | + _, cat, _ = subject.post_catalog4(certname, **payload) |
318 | 318 | expect(cat).to be_a(Puppet::Resource::Catalog)
|
319 | 319 | expect(cat.name).to eq(certname)
|
320 | 320 | end
|
|
323 | 323 | stub_request(:post, uri)
|
324 | 324 | .to_return(**catalog_response)
|
325 | 325 |
|
326 |
| - resp, _, _ = subject.post_catalog4(certname, payload) |
| 326 | + resp, _, _ = subject.post_catalog4(certname, **payload) |
327 | 327 | expect(resp).to be_a(Puppet::HTTP::Response)
|
328 | 328 | end
|
329 | 329 |
|
|
332 | 332 | .to_return(status: [500, "Server Error"])
|
333 | 333 |
|
334 | 334 | expect {
|
335 |
| - subject.post_catalog4(certname, payload) |
| 335 | + subject.post_catalog4(certname, **payload) |
336 | 336 | }.to raise_error do |err|
|
337 | 337 | expect(err).to be_an_instance_of(Puppet::HTTP::ResponseError)
|
338 | 338 | expect(err.message).to eq('Server Error')
|
|
345 | 345 | .to_return(body: "this isn't valid JSON", headers: {'Content-Type' => 'application/json'})
|
346 | 346 |
|
347 | 347 | expect {
|
348 |
| - subject.post_catalog4(certname, payload) |
| 348 | + subject.post_catalog4(certname, **payload) |
349 | 349 | }.to raise_error do |err|
|
350 | 350 | expect(err).to be_an_instance_of(Puppet::HTTP::SerializationError)
|
351 | 351 | expect(err.message).to match(/Failed to deserialize catalog from puppetserver response/)
|
|
357 | 357 | .to_return(body: {oops: 'bad response data'}.to_json, headers: {'Content-Type' => 'application/json'})
|
358 | 358 |
|
359 | 359 | expect {
|
360 |
| - subject.post_catalog4(certname, payload) |
| 360 | + subject.post_catalog4(certname, **payload) |
361 | 361 | }.to raise_error do |err|
|
362 | 362 | expect(err).to be_an_instance_of(Puppet::HTTP::SerializationError)
|
363 | 363 | expect(err.message).to match(/Failed to deserialize catalog from puppetserver response/)
|
|
366 | 366 |
|
367 | 367 | it 'raises ArgumentError when the `persistence` hash does not contain required keys' do
|
368 | 368 | 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| |
370 | 370 | expect(err).to be_an_instance_of(ArgumentError)
|
371 | 371 | expect(err.message).to match(/The 'persistence' hash is missing the keys: facts/)
|
372 | 372 | end
|
373 | 373 | end
|
374 | 374 |
|
375 | 375 | it 'raises ArgumentError when `facts` are not a Hash' do
|
376 | 376 | 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| |
378 | 378 | expect(err).to be_an_instance_of(ArgumentError)
|
379 | 379 | expect(err.message).to match(/Facts must be a Hash not a Puppet::Node::Facts/)
|
380 | 380 | end
|
|
0 commit comments