+++ /dev/null
-require 'spec_helper'
-
-describe 'systemd' do
- context 'supported operating systems' do
- on_supported_os.each do |os, facts|
- context "on #{os}" do
- let(:facts) { facts }
-
- it { is_expected.to compile.with_all_deps }
- it { is_expected.to create_class('systemd') }
- it { is_expected.to create_class('systemd::systemctl::daemon_reload') }
- it { is_expected.to_not create_service('systemd-resolved') }
- it { is_expected.to_not create_service('systemd-networkd') }
- it { is_expected.to_not create_service('systemd-timesyncd') }
-
- context 'when enabling resolved and networkd' do
- let(:params) {{
- :manage_resolved => true,
- :manage_networkd => true
- }}
-
- it { is_expected.to create_service('systemd-resolved').with_ensure('running') }
- it { is_expected.to create_service('systemd-resolved').with_enable(true) }
- it { is_expected.to create_service('systemd-networkd').with_ensure('running') }
- it { is_expected.to create_service('systemd-networkd').with_enable(true) }
- end
-
- context 'when enabling resolved with DNS values (string)' do
- let(:params) {{
- :manage_resolved => true,
- :dns => '8.8.8.8 8.8.4.4',
- :fallback_dns => '2001:4860:4860::8888 2001:4860:4860::8844',
- }}
-
- it { is_expected.to create_service('systemd-resolved').with_ensure('running') }
- it { is_expected.to create_service('systemd-resolved').with_enable(true) }
- it { is_expected.to contain_ini_setting('dns')}
- it { is_expected.to contain_ini_setting('fallback_dns')}
- it { is_expected.not_to contain_ini_setting('domains')}
- it { is_expected.not_to contain_ini_setting('multicast_dns')}
- it { is_expected.not_to contain_ini_setting('llmnr')}
- it { is_expected.not_to contain_ini_setting('dnssec')}
- it { is_expected.not_to contain_ini_setting('cache')}
- it { is_expected.not_to contain_ini_setting('dns_stub_listener')}
- end
-
- context 'when enabling resolved with DNS values (array)' do
- let(:params) {{
- :manage_resolved => true,
- :dns => %w(8.8.8.8 8.8.4.4),
- :fallback_dns => %w(2001:4860:4860::8888 2001:4860:4860::8844),
- }}
-
- it { is_expected.to create_service('systemd-resolved').with_ensure('running') }
- it { is_expected.to create_service('systemd-resolved').with_enable(true) }
- it { is_expected.to contain_ini_setting('dns')}
- it { is_expected.to contain_ini_setting('fallback_dns')}
- it { is_expected.not_to contain_ini_setting('domains')}
- it { is_expected.not_to contain_ini_setting('multicast_dns')}
- it { is_expected.not_to contain_ini_setting('llmnr')}
- it { is_expected.not_to contain_ini_setting('dnssec')}
- it { is_expected.not_to contain_ini_setting('cache')}
- it { is_expected.not_to contain_ini_setting('dns_stub_listener')}
- end
-
- context 'when enabling resolved with DNS values (full)' do
- let(:params) {{
- :manage_resolved => true,
- :dns => %w(8.8.8.8 8.8.4.4),
- :fallback_dns => %w(2001:4860:4860::8888 2001:4860:4860::8844),
- :domains => %w(2001:4860:4860::8888 2001:4860:4860::8844),
- :llmnr => true,
- :multicast_dns => false,
- :dnssec => false,
- :cache => true,
- :dns_stub_listener => 'udp',
- }}
-
- it { is_expected.to create_service('systemd-resolved').with_ensure('running') }
- it { is_expected.to create_service('systemd-resolved').with_enable(true) }
- it { is_expected.to contain_ini_setting('dns')}
- it { is_expected.to contain_ini_setting('fallback_dns')}
- it { is_expected.to contain_ini_setting('domains')}
- it { is_expected.to contain_ini_setting('multicast_dns')}
- it { is_expected.to contain_ini_setting('llmnr')}
- it { is_expected.to contain_ini_setting('dnssec')}
- it { is_expected.to contain_ini_setting('cache')}
- it { is_expected.to contain_ini_setting('dns_stub_listener')}
- end
-
- context 'when enabling timesyncd' do
- let(:params) {{
- :manage_timesyncd => true
- }}
-
- it { is_expected.to create_service('systemd-timesyncd').with_ensure('running') }
- it { is_expected.to create_service('systemd-timesyncd').with_enable(true) }
- it { is_expected.not_to create_service('systemd-resolved').with_ensure('running') }
- it { is_expected.not_to create_service('systemd-resolved').with_enable(true) }
- it { is_expected.not_to create_service('systemd-networkd').with_ensure('running') }
- it { is_expected.not_to create_service('systemd-networkd').with_enable(true) }
- end
-
- context 'when enabling timesyncd with NTP values (string)' do
- let(:params) {{
- :manage_timesyncd => true,
- :ntp_server => '0.pool.ntp.org 1.pool.ntp.org',
- :fallback_ntp_server => '2.pool.ntp.org 3.pool.ntp.org'
- }}
- it { is_expected.to compile.with_all_deps }
- it { is_expected.to contain_ini_setting('ntp_server')}
- it { is_expected.to contain_ini_setting('fallback_ntp_server')}
- end
-
- context 'when enabling timesyncd with NTP values (array)' do
- let(:params) {{
- :manage_timesyncd => true,
- :ntp_server => %w(0.pool.ntp.org 1.pool.ntp.org),
- :fallback_ntp_server => %w(2.pool.ntp.org 3.pool.ntp.org)
- }}
- it { is_expected.to compile.with_all_deps }
- it { is_expected.to contain_ini_setting('ntp_server')}
- it { is_expected.to contain_ini_setting('fallback_ntp_server')}
- end
-
- context 'when passing service limits' do
- let(:params) {{
- :service_limits => {'openstack-nova-compute.service' => {'limits' => {'LimitNOFILE' => 32768}}}
- }}
-
- it { is_expected.to compile.with_all_deps }
- it { is_expected.to contain_systemd__service_limits('openstack-nova-compute.service').with_limits({'LimitNOFILE' => 32768}) }
- end
-
- context 'when managing Accounting options' do
- let :params do
- {
- manage_accounting: true,
- }
- end
-
- it { is_expected.to contain_class('systemd::system')}
-
- case facts[:os]['family']
- when 'Archlinux'
- accounting = ['DefaultCPUAccounting', 'DefaultIOAccounting', 'DefaultIPAccounting', 'DefaultBlockIOAccounting', 'DefaultMemoryAccounting', 'DefaultTasksAccounting']
- when 'Debian'
- accounting = ['DefaultCPUAccounting', 'DefaultBlockIOAccounting', 'DefaultMemoryAccounting']
- when 'RedHat'
- accounting = ['DefaultCPUAccounting', 'DefaultBlockIOAccounting', 'DefaultMemoryAccounting', 'DefaultTasksAccounting']
- end
- accounting.each do |account|
- it { is_expected.to contain_ini_setting(account)}
- end
- it { is_expected.to compile.with_all_deps }
- end
- end
- end
- end
-end