Connect domain settings to pools, create v2 API

This commit is contained in:
Gene Liverman 2021-12-30 14:04:34 -05:00 committed by Samuel Beaulieu
parent 7786c9193e
commit 6b9eb2369f
No known key found for this signature in database
GPG key ID: 12030F74136D0F34
19 changed files with 3964 additions and 19 deletions

View file

@ -1672,6 +1672,93 @@ EOT
end
end
describe '#get_domain_for_pool' do
let(:provider_name) { 'mock_provider' }
context 'No provider is set' do
let(:config) { YAML.load(<<~EOT
---
:config:
:providers:
:mock_provider:
:pools:
- name: '#{pool}'
size: 1
EOT
)}
it 'should return nil' do
result = subject.get_domain_for_pool(pool)
expect(result).to be_nil
end
end
context 'No domain is set' do
let(:config) { YAML.load(<<~EOT
---
:config:
:providers:
:mock_provider:
:pools:
- name: '#{pool}'
size: 1
provider: #{provider_name}
EOT
)}
it 'should return nil' do
allow(subject).to receive(:get_provider_for_pool).with(pool).and_return(provider)
allow(provider).to receive(:name).and_return(provider_name)
result = subject.get_domain_for_pool(pool)
expect(result).to be_nil
end
end
context 'Only a global domain is set' do
let(:config) { YAML.load(<<~EOT
---
:config:
domain: example.com
:providers:
:mock_provider:
:pools:
- name: '#{pool}'
size: 1
provider: #{provider_name}
EOT
)}
it 'should return the domain set in the config section' do
allow(subject).to receive(:get_provider_for_pool).with(pool).and_return(provider)
allow(provider).to receive(:name).and_return(provider_name)
result = subject.get_domain_for_pool(pool)
expect(result).to_not be_nil
expect(result).to eq('example.com')
end
end
context 'A provider specified a domain to use' do
let(:config) { YAML.load(<<~EOT
---
:config:
:providers:
:mock_provider:
domain: m.example.com
:pools:
- name: '#{pool}'
size: 1
provider: #{provider_name}
EOT
)}
it 'should return the domain set in the config section' do
allow(subject).to receive(:get_provider_for_pool).with(pool).and_return(provider)
allow(provider).to receive(:name).and_return(provider_name)
result = subject.get_domain_for_pool(pool)
expect(result).to_not be_nil
expect(result).to eq('m.example.com')
end
end
end
describe '#check_disk_queue' do
let(:threads) {[]}
@ -2708,6 +2795,7 @@ EOT
allow(subject).to receive(:check_snapshot_queue)
allow(subject).to receive(:check_pool)
allow(subject).to receive(:check_ondemand_requests)
allow(subject).to receive(:get_domain_for_pool).and_return('example.com')
allow(logger).to receive(:log)
end