mirror of
https://github.com/puppetlabs/vmfloaty.git
synced 2026-01-25 21:28:40 -05:00
Merge pull request #98 from puppetlabs/better-abs-config
(maint) Support any vmpooler for ABS via vmpooler_fallback
This commit is contained in:
commit
f3cd540455
4 changed files with 74 additions and 13 deletions
|
|
@ -255,4 +255,61 @@ describe Utils do
|
|||
Utils.pretty_print_hosts(nil, service, hostname)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#get_vmpooler_service_config' do
|
||||
let(:Conf) { double }
|
||||
it 'returns an error if the vmpooler_fallback is not setup' do
|
||||
config = {
|
||||
'user' => 'foo',
|
||||
'services' => {
|
||||
'myabs' => {
|
||||
'url' => 'http://abs.com',
|
||||
'token' => 'krypto-night',
|
||||
'type' => 'abs'
|
||||
}
|
||||
}
|
||||
}
|
||||
allow(Conf).to receive(:read_config).and_return(config)
|
||||
expect{Utils.get_vmpooler_service_config(config['services']['myabs']['vmpooler_fallback'])}.to raise_error(ArgumentError)
|
||||
end
|
||||
it 'returns an error if the vmpooler_fallback is setup but cannot be found' do
|
||||
config = {
|
||||
'user' => 'foo',
|
||||
'services' => {
|
||||
'myabs' => {
|
||||
'url' => 'http://abs.com',
|
||||
'token' => 'krypto-night',
|
||||
'type' => 'abs',
|
||||
'vmpooler_fallback' => 'myvmpooler'
|
||||
}
|
||||
}
|
||||
}
|
||||
allow(Conf).to receive(:read_config).and_return(config)
|
||||
expect{Utils.get_vmpooler_service_config(config['services']['myabs']['vmpooler_fallback'])}.to raise_error(ArgumentError, /myvmpooler/)
|
||||
end
|
||||
it 'returns the vmpooler_fallback config' do
|
||||
config = {
|
||||
'user' => 'foo',
|
||||
'services' => {
|
||||
'myabs' => {
|
||||
'url' => 'http://abs.com',
|
||||
'token' => 'krypto-night',
|
||||
'type' => 'abs',
|
||||
'vmpooler_fallback' => 'myvmpooler'
|
||||
},
|
||||
'myvmpooler' => {
|
||||
'url' => 'http://vmpooler.com',
|
||||
'token' => 'krypto-knight'
|
||||
}
|
||||
}
|
||||
}
|
||||
allow(Conf).to receive(:read_config).and_return(config)
|
||||
expect(Utils.get_vmpooler_service_config(config['services']['myabs']['vmpooler_fallback'])).to include({
|
||||
'url' => 'http://vmpooler.com',
|
||||
'token' => 'krypto-knight',
|
||||
'user' => 'foo',
|
||||
'type' => 'vmpooler'
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue