X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fsystemd%2Fspec%2Fdefines%2Funit_file_spec.rb;fp=3rdparty%2Fmodules%2Fsystemd%2Fspec%2Fdefines%2Funit_file_spec.rb;h=d151d457d98c5016e3e24895fe9915624ee63e26;hb=1329adc9f34c3c87e353983ec9023a6cf6e93e67;hp=0000000000000000000000000000000000000000;hpb=a81ff959d6c9c7605db1176b89dc2b5ffde0d903;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/systemd/spec/defines/unit_file_spec.rb b/3rdparty/modules/systemd/spec/defines/unit_file_spec.rb new file mode 100644 index 000000000..d151d457d --- /dev/null +++ b/3rdparty/modules/systemd/spec/defines/unit_file_spec.rb @@ -0,0 +1,55 @@ +require 'spec_helper' + +describe 'systemd::unit_file' do + context 'supported operating systems' do + on_supported_os.each do |os, facts| + context "on #{os}" do + let(:facts) { facts } + + let(:title) { 'test.service' } + + let(:params) {{ + :content => 'random stuff' + }} + + it { is_expected.to compile.with_all_deps } + + it { is_expected.to create_file("/etc/systemd/system/#{title}").with( + :ensure => 'file', + :content => /#{params[:content]}/, + :mode => '0444' + ) } + + it { is_expected.to create_file("/etc/systemd/system/#{title}").that_notifies('Class[systemd::systemctl::daemon_reload]') } + + context 'with a bad unit type' do + let(:title) { 'test.badtype' } + + it { + expect{ + is_expected.to compile.with_all_deps + }.to raise_error(/expects a match for Systemd::Unit/) + } + end + + context 'with enable => true and active => true' do + let(:params) do + super().merge({ + :enable => true, + :active => true + }) + end + + it { is_expected.to contain_service('test.service').with( + :ensure => true, + :enable => true, + :provider => 'systemd' + ) } + + it { is_expected.to contain_service('test.service').that_subscribes_to("File[/etc/systemd/system/#{title}]") } + it { is_expected.to contain_service('test.service').that_requires('Class[systemd::systemctl::daemon_reload]') } + end + end + end + end +end