Files
puppet-swift/spec/classes/swift_internal_client_spec.rb
Takashi Kajinami b0e59971b8 Set appropriate ownership/permission to config files
... to avoid making any config files world readable.

Also swift processes do not need write access to these files, thus
write access can be blocked.

Closes-Bug: #2068898
Change-Id: I8b11fbdb0ea0ca814b962dd72b5c1cb4cd201c24
2024-06-11 12:03:47 +09:00

81 lines
4.2 KiB
Ruby

require 'spec_helper'
describe 'swift::internal_client' do
shared_examples 'swift::internal_client' do
let :pre_condition do
"class { memcached: max_memory => 1}
class { swift: swift_hash_path_suffix => string }
include swift::internal_client::catch_errors
include swift::internal_client::proxy_logging
include swift::internal_client::cache"
end
context 'with defaults' do
it { is_expected.to contain_file('/etc/swift/internal-client.conf').with(
:ensure => 'file',
:owner => 'root',
:group => 'swift',
:mode => '0640',
)}
it 'should configure default values' do
should contain_swift_internal_client_config('DEFAULT/user').with_value('swift')
should contain_swift_internal_client_config('pipeline:main/pipeline').with_value('catch_errors proxy-logging cache proxy-server')
should contain_swift_internal_client_config('app:proxy-server/use').with_value('egg:swift#proxy')
should contain_swift_internal_client_config('app:proxy-server/account_autocreate').with_value(true)
should contain_swift_internal_client_config('app:proxy-server/object_chunk_size').with_value('<SERVICE DEFAULT>')
should contain_swift_internal_client_config('app:proxy-server/client_chunk_size').with_value('<SERVICE DEFAULT>')
should contain_swift_internal_client_config('app:proxy-server/sorting_method').with_value('<SERVICE DEFAULT>')
should contain_swift_internal_client_config('app:proxy-server/read_affinity').with_value('<SERVICE DEFAULT>')
should contain_swift_internal_client_config('app:proxy-server/write_affinity').with_value('<SERVICE DEFAULT>')
should contain_swift_internal_client_config('app:proxy-server/write_affinity_node_count').with_value('<SERVICE DEFAULT>')
should contain_swift_internal_client_config('app:proxy-server/client_timeout').with_value('<SERVICE DEFAULT>')
should contain_swift_internal_client_config('app:proxy-server/node_timeout').with_value('<SERVICE DEFAULT>')
should contain_swift_internal_client_config('app:proxy-server/recoverable_node_timeout').with_value('<SERVICE DEFAULT>')
end
end
context 'with parameters' do
let :params do
{
:pipeline => ['catch_errors', 'proxy-logging', 'proxy-server'],
:object_chunk_size => 65536,
:client_chunk_size => 65535,
:read_affinity => 'r1z1=100, r1=200',
:write_affinity => 'r1',
:write_affinity_node_count => '2 * replicas',
:client_timeout => '120',
:node_timeout => '20',
:recoverable_node_timeout => '15',
}
end
it 'should configure the given values' do
should contain_swift_internal_client_config('pipeline:main/pipeline').with_value('catch_errors proxy-logging proxy-server')
should contain_swift_internal_client_config('app:proxy-server/object_chunk_size').with_value(65536)
should contain_swift_internal_client_config('app:proxy-server/client_chunk_size').with_value(65535)
should contain_swift_internal_client_config('app:proxy-server/sorting_method').with_value('affinity')
should contain_swift_internal_client_config('app:proxy-server/read_affinity').with_value('r1z1=100, r1=200')
should contain_swift_internal_client_config('app:proxy-server/write_affinity').with_value('r1')
should contain_swift_internal_client_config('app:proxy-server/write_affinity_node_count').with_value('2 * replicas')
should contain_swift_internal_client_config('app:proxy-server/client_timeout').with_value('120')
should contain_swift_internal_client_config('app:proxy-server/node_timeout').with_value('20')
should contain_swift_internal_client_config('app:proxy-server/recoverable_node_timeout').with_value('15')
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
it_behaves_like 'swift::internal_client'
end
end
end