Files
puppet-swift/spec/classes/swift_proxy_ceilometer_spec.rb
Sofer Athlan-Guyot a5e15bbf4a Include openstacklib defaults manifest.
This provides a mechanism for setting default across all modules.

Change-Id: Ie7e3ab180b8f55db698f14f269d5f50b4512b187
Related-Bug: 1599113
2016-07-11 11:24:57 +02:00

66 lines
3.3 KiB
Ruby

require 'spec_helper'
describe 'swift::proxy::ceilometer' do
let :facts do
OSDefaults.get_facts({ :osfamily => 'Debian' })
end
let :pre_condition do
'concat { "/etc/swift/proxy-server.conf": }
class { "swift":
swift_hash_path_suffix => "dummy"
}'
end
describe "when using default parameters" do
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/[filter:ceilometer]/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/paste.filter_factory = ceilometermiddleware.swift:filter_factory/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/url = rabbit:\/\/guest:guest@127.0.0.1:5672\//) }
it { is_expected.to contain_concat__fragment('swift_ceilometer').with_require('Class[Ceilometer]')}
it { is_expected.to contain_user('swift').with_groups('ceilometer') }
it { is_expected.to contain_file('/var/log/ceilometer/swift-proxy-server.log').with(:owner => 'swift', :group => 'swift', :mode => '0664') }
end
describe "when overriding default parameters" do
let :params do
{ :group => 'www-data',
:rabbit_user => 'user_1',
:rabbit_password => 'user_1_passw',
:rabbit_host => '1.1.1.1',
:rabbit_port => '5673',
:rabbit_virtual_host => 'rabbit',
:driver => 'messagingv2',
:topic => 'notifications',
:control_exchange => 'swift',
}
end
context 'with single rabbit host' do
it { is_expected.to contain_user('swift').with_groups('www-data') }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/[filter:ceilometer]/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/paste.filter_factory = ceilometermiddleware.swift:filter_factory/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/url = rabbit:\/\/user_1:user_1_passw@1.1.1.1:5673\/rabbit/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/driver = messagingv2/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/topic = notifications/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/control_exchange = swift/) }
end
context 'with multiple rabbit hosts' do
before do
params.merge!({ :rabbit_hosts => ['127.0.0.1:5672', '127.0.0.2:5672'] })
end
it { is_expected.to contain_user('swift').with_groups('www-data') }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/[filter:ceilometer]/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/paste.filter_factory = ceilometermiddleware.swift:filter_factory/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/url = rabbit:\/\/user_1:user_1_passw@127.0.0.1:5672,user_1:user_1_passw@127.0.0.2:5672\/rabbit/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/driver = messagingv2/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/topic = notifications/) }
it { is_expected.to contain_concat_fragment('swift_ceilometer').with_content(/control_exchange = swift/) }
end
end
end