puppet-zaqar/spec/classes/zaqar_messaging_redis_spec.rb
Takashi Kajinami 0cc6468f2b Ensure python-redis is install
The python-redis package is an optional dependency and needs to be
installed explicitly in Ubuntu or Debian. (The zaqar package in RDO
has additonal dependency to require python-redis now).

Change-Id: I5c768a4ed60909f2e764ed6a39c372814b50c58b
2024-04-08 18:35:04 +09:00

83 lines
2.1 KiB
Ruby

require 'spec_helper'
describe 'zaqar::messaging::redis' do
shared_examples_for 'zaqar::messaging::redis' do
let :pre_condition do
"class { 'zaqar::keystone::authtoken':
password => 'foo',
}
class { 'zaqar::keystone::trust':
password => 'foo',
}
class { 'zaqar':
message_store =>'redis',
}"
end
let :req_params do
{
:uri => 'redis://127.0.0.1:6379',
}
end
describe 'with only required params' do
let :params do
req_params
end
it 'should config redis messaging driver' do
is_expected.to contain_zaqar_config('drivers/message_store').with_value('redis')
is_expected.to contain_zaqar_config('drivers:message_store:redis/uri').with_value('redis://127.0.0.1:6379')
is_expected.to contain_zaqar_config('drivers:message_store:redis/reconnect_sleep').with_value('<SERVICE DEFAULT>')
is_expected.to contain_package('python-redis').with(
:ensure => 'installed',
:name => platform_params[:python_redis_package_name],
:tag => ['openstack'],
)
end
end
describe 'with custom values' do
let :params do
req_params.merge!({
:max_reconnect_attempts => '4',
:reconnect_sleep => '5',
})
end
it 'configures custom values' do
is_expected.to contain_zaqar_config('drivers:message_store:redis/max_reconnect_attempts').with_value('4')
is_expected.to contain_zaqar_config('drivers:message_store:redis/reconnect_sleep').with_value('5')
end
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
let(:platform_params) do
case facts[:os]['family']
when 'Debian'
{
:python_redis_package_name => 'python3-redis',
}
when 'RedHat'
{
:python_redis_package_name => 'python3-redis',
}
end
end
it_configures 'zaqar::messaging::redis'
end
end
end