|
23 | 23 | end
|
24 | 24 |
|
25 | 25 | context 'when resolving using server_list' do
|
26 |
| - let(:subject) { Puppet::HTTP::Resolver::ServerList.new(client) } |
| 26 | + let(:server_list) { [["ca.example.com", "8141"], ["apple.example.com"]] } |
| 27 | + let(:default_port) { '8142' } |
| 28 | + let(:subject) { Puppet::HTTP::Resolver::ServerList.new(client, server_list: server_list, default_port: default_port) } |
27 | 29 |
|
28 | 30 | it 'yields a service based on the current server_list setting' do
|
29 |
| - Puppet[:server_list] = 'ca.example.com:8141' |
30 |
| - |
31 | 31 | stub_request(:get, "https://ca.example.com:8141/status/v1/simple/master").to_return(status: 200)
|
32 | 32 |
|
33 | 33 | subject.resolve(session, :ca) do |service|
|
|
37 | 37 | end
|
38 | 38 |
|
39 | 39 | it 'yields a service based on the current server_list setting if the server returns any success codes' do
|
40 |
| - Puppet[:server_list] = 'ca.example.com:8141' |
41 |
| - |
42 | 40 | stub_request(:get, "https://ca.example.com:8141/status/v1/simple/master").to_return(status: 202)
|
43 | 41 |
|
44 | 42 | subject.resolve(session, :ca) do |service|
|
|
48 | 46 | end
|
49 | 47 |
|
50 | 48 | it 'falls fails if no servers in server_list are accessible' do
|
51 |
| - Puppet[:server_list] = 'ca.example.com:8141' |
52 |
| - |
53 | 49 | stub_request(:get, "https://ca.example.com:8141/status/v1/simple/master").to_return(status: 503)
|
| 50 | + stub_request(:get, "https://apple.example.com:8142/status/v1/simple/master").to_return(status: 503) |
54 | 51 |
|
55 | 52 | expect { subject.resolve(session, :ca) }.to raise_error(Puppet::Error, /^Could not select a functional puppet master from server_list:/)
|
56 | 53 | end
|
57 | 54 |
|
58 | 55 | it 'cycles through server_list until a valid server is found' do
|
59 |
| - Puppet[:server_list] = 'ca.example.com:8141, ca.failover.com:1984' |
60 |
| - |
61 | 56 | stub_request(:get, "https://ca.example.com:8141/status/v1/simple/master").to_return(status: 503)
|
62 |
| - stub_request(:get, "https://ca.failover.com:1984/status/v1/simple/master").to_return(status: 200) |
63 |
| - |
64 |
| - subject.resolve(session, :ca) do |service| |
65 |
| - expect(service).to be_an_instance_of(Puppet::HTTP::Service::Ca) |
66 |
| - expect(service.url.to_s).to eq("https://ca.failover.com:1984/puppet-ca/v1") |
67 |
| - end |
68 |
| - end |
69 |
| - |
70 |
| - it 'defaults port to `Puppet[:masterport]` if no port is set' do |
71 |
| - Puppet[:server_list] = 'ca.example.com' |
72 |
| - Puppet[:masterport] = 8142 |
73 |
| - |
74 |
| - stub_request(:get, "https://ca.example.com:8142/status/v1/simple/master").to_return(status: 200) |
| 57 | + stub_request(:get, "https://apple.example.com:8142/status/v1/simple/master").to_return(status: 200) |
75 | 58 |
|
76 | 59 | subject.resolve(session, :ca) do |service|
|
77 | 60 | expect(service).to be_an_instance_of(Puppet::HTTP::Service::Ca)
|
78 |
| - expect(service.url.to_s).to eq("https://ca.example.com:8142/puppet-ca/v1") |
| 61 | + expect(service.url.to_s).to eq("https://apple.example.com:8142/puppet-ca/v1") |
79 | 62 | end
|
80 | 63 | end
|
81 | 64 | end
|
|
0 commit comments