Files
puppet-nova/spec/classes/nova_patch_config_spec.rb
Lokesh Jain e2e880b299 Added nova patching configuration parameters
These parameters are available in nova.conf, but were not
configurable using puppet-nova. The monkey patching parameters
allow patching a decorator for all functions in specified modules.
This change create patch/config.pp file to make these parameters
configurable.

Change-Id: I51ef3e19daff1d98cfe5c2c16475c16e6a3e3e0f
Closes-Bug: #1710292
2017-08-21 15:53:22 -04:00

54 lines
1.6 KiB
Ruby

require 'spec_helper'
describe 'nova::patch::config' do
let :params do
{}
end
shared_examples 'nova::patch::config' do
it { is_expected.to contain_class('nova::deps') }
context 'with default parameters' do
it { is_expected.to contain_nova_config('DEFAULT/monkey_patch').with_value('false') }
it { is_expected.to contain_nova_config('DEFAULT/monkey_patch_modules').with(:value => '<SERVICE DEFAULT>') }
end
context 'when overriding parameters' do
let :params do
{ :monkey_patch => true,
:monkey_patch_modules => ['nova.compute.api:nova.notifications.notify_decorator']
}
end
it { is_expected.to contain_nova_config('DEFAULT/monkey_patch').with_value('true') }
it { is_expected.to contain_nova_config('DEFAULT/monkey_patch_modules').with_value('nova.compute.api:nova.notifications.notify_decorator') }
end
context 'when overriding parameters with reset values' do
let :params do
{ :monkey_patch => false,
:monkey_patch_modules => '<SERVICE DEFAULT>'
}
end
it { is_expected.to contain_nova_config('DEFAULT/monkey_patch').with_value('false') }
it { is_expected.to contain_nova_config('DEFAULT/monkey_patch_modules').with(:value => '<SERVICE DEFAULT>') }
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'nova::patch::config'
end
end
end