puppet-swift/spec/classes/swift_spec.rb
Emilien Macchi c0a1195f53 Improve File resources idempotency
* use selinux_ignore_defaults parameter for directory to avoid this kind
  of issue:
(...) seltype: seltype changed 'swift_var_run_t' to 'var_run_t'

* Do not manage ownership for /etc/swift/*-server to avoid this kind of
  issue:
(...) owner changed 'root' to 'swift'

* Do not manage /etc/init.d/swift-container-sync file, already managed
  by packaging:
~ dpkg -S /etc/init.d/swift-container-sync
swift-container: /etc/init.d/swift-container-sync

Change-Id: I1d742d118943fb0b11c47fd322052f50156e2994
2015-09-29 18:40:49 +00:00

78 lines
2.2 KiB
Ruby

require 'spec_helper'
describe 'swift' do
let :params do
{
:swift_hash_suffix => 'string',
:max_header_size => '16384',
}
end
let :facts do
{
:operatingsystem => 'Ubuntu',
:osfamily => 'Debian'
}
end
describe 'when no swift hash is specified' do
let :params do
{}
end
it 'should raise an exception' do
expect { catalogue }.to raise_error(Puppet::Error)
end
end
describe 'when using the default value for package_ensure' do
let :file_defaults do
{
:owner => 'swift',
:group => 'swift',
:require => 'Package[swift]'
}
end
it {is_expected.to contain_user('swift')}
it {is_expected.to contain_file('/etc/swift').with(
{:ensure => 'directory'}.merge(file_defaults)
)}
it {is_expected.to contain_file('/var/run/swift').with(
{:ensure => 'directory',
:selinux_ignore_defaults => true}.merge(file_defaults)
)}
it {is_expected.to contain_file('/var/lib/swift').with(
{:ensure => 'directory'}.merge(file_defaults)
)}
it {is_expected.to contain_file('/etc/swift/swift.conf').with(
{:ensure => 'file'}.merge(file_defaults)
)}
it 'configures swift.conf' do
is_expected.to contain_swift_config(
'swift-hash/swift_hash_path_suffix').with_value('string')
end
it 'configures swift.conf' do
is_expected.to contain_swift_config(
'swift-constraints/max_header_size').with_value('16384')
end
it { is_expected.to contain_package('swift').with_ensure('present') }
it { is_expected.to contain_file('/etc/swift/swift.conf').with_before(/Swift_config\[.+\]/) }
end
describe 'when overriding package_ensure parameter' do
it 'should effect ensure state of swift package' do
params[:package_ensure] = '1.12.0-1'
is_expected.to contain_package('swift').with_ensure(params[:package_ensure])
end
end
describe 'when overriding client_package_ensure parameter' do
it 'should effect ensure state of swift package' do
params[:client_package_ensure] = '2.0.2-1'
is_expected.to contain_package('swiftclient').with_ensure(params[:client_package_ensure])
end
end
end