Loading .fixtures.yml +1 −0 Original line number Diff line number Diff line Loading @@ -5,3 +5,4 @@ fixtures: logrotate: "puppet/logrotate" rsyslog: "saz/rsyslog" stdlib: "puppetlabs/stdlib" systemd: "camptocamp/systemd" manifests/radsniff.pp +7 −7 Original line number Diff line number Diff line Loading @@ -16,8 +16,8 @@ class freeradius::radsniff ( if $envfile { $final_envfile = $envfile } else { if $freeradius::fr_radsniff_envfile { $final_envfile = $freeradius::fr_radsniff_envfile if $freeradius::radsniff::fr_radsniff_envfile { $final_envfile = $freeradius::radsniff::fr_radsniff_envfile } else { fail('freeradius::radsniff requires envfile to be explicitly set on this OS') } Loading @@ -27,8 +27,8 @@ class freeradius::radsniff ( if $pidfile { $final_pidfile = $pidfile } else { if $freeradius::fr_radsniff_pidfile { $final_pidfile = $freeradius::fr_radsniff_pidfile if $freeradius::radsniff::fr_radsniff_pidfile { $final_pidfile = $freeradius::radsniff::fr_radsniff_pidfile } else { fail('freeradius::radsniff requires pidfile to be explicitly set on this OS') } Loading @@ -36,7 +36,7 @@ class freeradius::radsniff ( $escaped_cmd = $options.regsubst('"','\\\\"','G') file { $envfile: file { $final_envfile: content => @("SYSCONFIG"), RADSNIFF_OPTIONS="${escaped_cmd}" | SYSCONFIG Loading @@ -51,7 +51,7 @@ class freeradius::radsniff ( } systemd::unit_file {'radsniff.service': source => 'puppet:///modules/freeradius/radsniff.service', content => template('freeradius/radsniff.service.erb'), notify => Service['radsniff'], } } spec/classes/radsniff.rb→spec/classes/radsniff_spec.rb +32 −4 Original line number Diff line number Diff line Loading @@ -2,9 +2,9 @@ require 'spec_helper' describe 'freeradius::radsniff' do on_supported_os.each do |os, os_facts| context "on #{os}" do include_context 'freeradius_with_utils' context "on #{os}" do let(:facts) { os_facts } let(:params) do Loading @@ -13,6 +13,34 @@ describe 'freeradius::radsniff' do } end let(:pre_condition) do precondition = case os_facts[:osfamily] when 'RedHat' 'class freeradius::params { $fr_basepath = "/etc/raddb" $fr_radsniff_pidfile = "/var/run/radiusd/radsniff.pid" $fr_radsniff_envfile = "/etc/sysconfig/radsniff" } include freeradius::params' when 'Debian' 'class freeradius::params { $fr_basepath = "/etc/freeradius" $fr_radsniff_pidfile = "/var/run/freeradius/radsniff.pid" $fr_radsniff_envfile = "/etc/defaults/radsniff" } include freeradius::params' else 'class freeradius::params { $fr_basepath = "/etc/raddb" $fr_radsniff_pidfile = "/var/run/radiusd/radsniff.pid" $fr_radsniff_envfile = undef } include freeradius::params' end super().push(precondition) end if os_facts[:osfamily] =~ %r{^RedHat|Debian$} it do is_expected.to contain_service('radsniff') Loading @@ -34,7 +62,7 @@ describe 'freeradius::radsniff' do is_expected.to contain_systemd__unit_file('radsniff.service') .with_content(%r{^Pidfile=/var/run/radiusd/radsniff.pid$}) .with_content(%r{^EnvironmentFile=/etc/sysconfig/radsniff$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /var/run/radiusd/radsniff.pid -d /etc/raddb $RADSNIFF_OPTIONS$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /var/run/radiusd/radsniff.pid -d /etc/raddb \$RADSNIFF_OPTIONS$}) .that_notifies('Service[radsniff]') end when 'Debian' Loading @@ -49,7 +77,7 @@ describe 'freeradius::radsniff' do is_expected.to contain_systemd__unit_file('radsniff.service') .with_content(%r{^Pidfile=/var/run/freeradius/radsniff.pid$}) .with_content(%r{^EnvironmentFile=/etc/defaults/radsniff$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /var/run/freeradius/radsniff.pid -d /etc/freeradius $RADSNIFF_OPTIONS$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /var/run/freeradius/radsniff.pid -d /etc/freeradius \$RADSNIFF_OPTIONS$}) .that_notifies('Service[radsniff]') end else Loading Loading @@ -86,7 +114,7 @@ describe 'freeradius::radsniff' do is_expected.to contain_systemd__unit_file('radsniff.service') .with_content(%r{^Pidfile=/a/pid/file$}) .with_content(%r{^EnvironmentFile=/test/env/file$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /a/pid/file -d /etc/freeradius $RADSNIFF_OPTIONS$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /a/pid/file -d .* \$RADSNIFF_OPTIONS$}) .that_notifies('Service[radsniff]') end end Loading spec/spec_helper_local.rb +6 −4 Original line number Diff line number Diff line Loading @@ -57,10 +57,12 @@ end shared_context 'freeradius_with_utils' do let(:pre_condition) do [ redhat_params_class, 'class { freeradius: utils_support => true, }', 'class freeradius { $utils_support = true } include freeradius package { "freeradius-utils": }', ] end end Loading templates/radsniff.service.erb +2 −2 Original line number Diff line number Diff line Loading @@ -6,8 +6,8 @@ After=radiusd.target [Service] Type=forking Pidfile=<%=scope['::freeradius::radsniff::final_pidfile']%> EnvironmentFile=<%=scope['::freeradius::radsniff::final_envpath']%> ExecStart=/usr/bin/radsniff -P <%=scope['::freeradius::radsniff::pidpath']%> -d <%=scope['::freeradius::radsniff::fr_basepath']%> $RADSNIFF_OPTIONS EnvironmentFile=<%=scope['::freeradius::radsniff::final_envfile']%> ExecStart=/usr/bin/radsniff -P <%=scope['::freeradius::radsniff::final_pidfile']%> -d <%=scope['::freeradius::radsniff::fr_basepath']%> $RADSNIFF_OPTIONS [Install] WantedBy=multi-user.target Loading
.fixtures.yml +1 −0 Original line number Diff line number Diff line Loading @@ -5,3 +5,4 @@ fixtures: logrotate: "puppet/logrotate" rsyslog: "saz/rsyslog" stdlib: "puppetlabs/stdlib" systemd: "camptocamp/systemd"
manifests/radsniff.pp +7 −7 Original line number Diff line number Diff line Loading @@ -16,8 +16,8 @@ class freeradius::radsniff ( if $envfile { $final_envfile = $envfile } else { if $freeradius::fr_radsniff_envfile { $final_envfile = $freeradius::fr_radsniff_envfile if $freeradius::radsniff::fr_radsniff_envfile { $final_envfile = $freeradius::radsniff::fr_radsniff_envfile } else { fail('freeradius::radsniff requires envfile to be explicitly set on this OS') } Loading @@ -27,8 +27,8 @@ class freeradius::radsniff ( if $pidfile { $final_pidfile = $pidfile } else { if $freeradius::fr_radsniff_pidfile { $final_pidfile = $freeradius::fr_radsniff_pidfile if $freeradius::radsniff::fr_radsniff_pidfile { $final_pidfile = $freeradius::radsniff::fr_radsniff_pidfile } else { fail('freeradius::radsniff requires pidfile to be explicitly set on this OS') } Loading @@ -36,7 +36,7 @@ class freeradius::radsniff ( $escaped_cmd = $options.regsubst('"','\\\\"','G') file { $envfile: file { $final_envfile: content => @("SYSCONFIG"), RADSNIFF_OPTIONS="${escaped_cmd}" | SYSCONFIG Loading @@ -51,7 +51,7 @@ class freeradius::radsniff ( } systemd::unit_file {'radsniff.service': source => 'puppet:///modules/freeradius/radsniff.service', content => template('freeradius/radsniff.service.erb'), notify => Service['radsniff'], } }
spec/classes/radsniff.rb→spec/classes/radsniff_spec.rb +32 −4 Original line number Diff line number Diff line Loading @@ -2,9 +2,9 @@ require 'spec_helper' describe 'freeradius::radsniff' do on_supported_os.each do |os, os_facts| context "on #{os}" do include_context 'freeradius_with_utils' context "on #{os}" do let(:facts) { os_facts } let(:params) do Loading @@ -13,6 +13,34 @@ describe 'freeradius::radsniff' do } end let(:pre_condition) do precondition = case os_facts[:osfamily] when 'RedHat' 'class freeradius::params { $fr_basepath = "/etc/raddb" $fr_radsniff_pidfile = "/var/run/radiusd/radsniff.pid" $fr_radsniff_envfile = "/etc/sysconfig/radsniff" } include freeradius::params' when 'Debian' 'class freeradius::params { $fr_basepath = "/etc/freeradius" $fr_radsniff_pidfile = "/var/run/freeradius/radsniff.pid" $fr_radsniff_envfile = "/etc/defaults/radsniff" } include freeradius::params' else 'class freeradius::params { $fr_basepath = "/etc/raddb" $fr_radsniff_pidfile = "/var/run/radiusd/radsniff.pid" $fr_radsniff_envfile = undef } include freeradius::params' end super().push(precondition) end if os_facts[:osfamily] =~ %r{^RedHat|Debian$} it do is_expected.to contain_service('radsniff') Loading @@ -34,7 +62,7 @@ describe 'freeradius::radsniff' do is_expected.to contain_systemd__unit_file('radsniff.service') .with_content(%r{^Pidfile=/var/run/radiusd/radsniff.pid$}) .with_content(%r{^EnvironmentFile=/etc/sysconfig/radsniff$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /var/run/radiusd/radsniff.pid -d /etc/raddb $RADSNIFF_OPTIONS$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /var/run/radiusd/radsniff.pid -d /etc/raddb \$RADSNIFF_OPTIONS$}) .that_notifies('Service[radsniff]') end when 'Debian' Loading @@ -49,7 +77,7 @@ describe 'freeradius::radsniff' do is_expected.to contain_systemd__unit_file('radsniff.service') .with_content(%r{^Pidfile=/var/run/freeradius/radsniff.pid$}) .with_content(%r{^EnvironmentFile=/etc/defaults/radsniff$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /var/run/freeradius/radsniff.pid -d /etc/freeradius $RADSNIFF_OPTIONS$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /var/run/freeradius/radsniff.pid -d /etc/freeradius \$RADSNIFF_OPTIONS$}) .that_notifies('Service[radsniff]') end else Loading Loading @@ -86,7 +114,7 @@ describe 'freeradius::radsniff' do is_expected.to contain_systemd__unit_file('radsniff.service') .with_content(%r{^Pidfile=/a/pid/file$}) .with_content(%r{^EnvironmentFile=/test/env/file$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /a/pid/file -d /etc/freeradius $RADSNIFF_OPTIONS$}) .with_content(%r{^ExecStart=/usr/bin/radsniff -P /a/pid/file -d .* \$RADSNIFF_OPTIONS$}) .that_notifies('Service[radsniff]') end end Loading
spec/spec_helper_local.rb +6 −4 Original line number Diff line number Diff line Loading @@ -57,10 +57,12 @@ end shared_context 'freeradius_with_utils' do let(:pre_condition) do [ redhat_params_class, 'class { freeradius: utils_support => true, }', 'class freeradius { $utils_support = true } include freeradius package { "freeradius-utils": }', ] end end Loading
templates/radsniff.service.erb +2 −2 Original line number Diff line number Diff line Loading @@ -6,8 +6,8 @@ After=radiusd.target [Service] Type=forking Pidfile=<%=scope['::freeradius::radsniff::final_pidfile']%> EnvironmentFile=<%=scope['::freeradius::radsniff::final_envpath']%> ExecStart=/usr/bin/radsniff -P <%=scope['::freeradius::radsniff::pidpath']%> -d <%=scope['::freeradius::radsniff::fr_basepath']%> $RADSNIFF_OPTIONS EnvironmentFile=<%=scope['::freeradius::radsniff::final_envfile']%> ExecStart=/usr/bin/radsniff -P <%=scope['::freeradius::radsniff::final_pidfile']%> -d <%=scope['::freeradius::radsniff::fr_basepath']%> $RADSNIFF_OPTIONS [Install] WantedBy=multi-user.target