puppet-swift/spec/classes/swift_ringserver_spec.rb
Takashi Kajinami 109cd356de Replace legacy facts and use fact hash
... because the latest lint no longer allows usage of legacy facts and
top scope fact.

Change-Id: I4c0a9357fcc4184df852024e1f6f36c0ed2e1440
2023-03-02 14:47:43 +09:00

85 lines
2.4 KiB
Ruby

require 'spec_helper'
# LP1492636 - Cohabitation of compile matcher and webmock
WebMock.disable_net_connect!(:allow => "169.254.169.254")
describe 'swift::ringserver' do
let :params do
{ :local_net_ip => '127.0.0.1',
:max_connections => 5,
}
end
shared_examples 'swift::ringserver' do
context 'when storage.pp was already included' do
let :pre_condition do
"class { 'swift::storage': storage_local_net_ip => '127.0.0.1' }
class {'swift' : swift_hash_path_suffix => 'eee' }
include swift::ringbuilder"
end
it 'does not create the rsync::server class' do
is_expected.to compile
end
it 'contain the swift_server rsync block' do
is_expected.to contain_rsync__server__module('swift_server').with({
'path' => '/etc/swift',
'lock_file' => '/var/lock/swift_server.lock',
'uid' => 'swift',
'gid' => 'swift',
'max_connections' => '5',
'read_only' => 'true'
})
end
end
context 'when storage.pp was not already included' do
let :pre_condition do
"class {'swift' : swift_hash_path_suffix => 'eee' }
include swift::ringbuilder"
end
it 'does create the rsync::server class' do
is_expected.to contain_class('rsync::server').with({
'use_xinetd' => platform_params[:xinetd_available],
'address' => '127.0.0.1',
'use_chroot' => 'no'
})
end
it 'contain the swift_server rsync block' do
is_expected.to contain_rsync__server__module('swift_server').with({
'path' => '/etc/swift',
'lock_file' => '/var/lock/swift_server.lock',
'uid' => 'swift',
'gid' => 'swift',
'max_connections' => '5',
'read_only' => 'true'
})
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'
{ :xinetd_available => true }
when 'RedHat'
{ :xinetd_available => false }
end
end
it_behaves_like 'swift::ringserver'
end
end
end