Skip to content

Commit

Permalink
Fix up radsniff tests so they actually run, and fix up all the silly …
Browse files Browse the repository at this point in the history
…mistakes I had made..
  • Loading branch information
nward committed May 25, 2021
1 parent 12dab8c commit b3642d7
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 18 deletions.
1 change: 1 addition & 0 deletions .fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ fixtures:
logrotate: "puppet/logrotate"
rsyslog: "saz/rsyslog"
stdlib: "puppetlabs/stdlib"
systemd: "camptocamp/systemd"
14 changes: 7 additions & 7 deletions manifests/radsniff.pp
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
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')
}
Expand All @@ -27,16 +27,16 @@
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')
}
}

$escaped_cmd = $options.regsubst('"','\\\\"','G')

file { $envfile:
file { $final_envfile:
content => @("SYSCONFIG"),
RADSNIFF_OPTIONS="${escaped_cmd}"
| SYSCONFIG
Expand All @@ -51,7 +51,7 @@
}

systemd::unit_file {'radsniff.service':
source => 'puppet:///modules/freeradius/radsniff.service',
notify => Service['radsniff'],
content => template('freeradius/radsniff.service.erb'),
notify => Service['radsniff'],
}
}
38 changes: 33 additions & 5 deletions spec/classes/radsniff.rb → spec/classes/radsniff_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

describe 'freeradius::radsniff' do
on_supported_os.each do |os, os_facts|
context "on #{os}" do
include_context 'freeradius_with_utils'
include_context 'freeradius_with_utils'

context "on #{os}" do
let(:facts) { os_facts }

let(:params) do
Expand All @@ -13,6 +13,34 @@
}
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')
Expand All @@ -34,7 +62,7 @@
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'
Expand All @@ -49,7 +77,7 @@
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
Expand Down Expand Up @@ -86,7 +114,7 @@
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
Expand Down
10 changes: 6 additions & 4 deletions spec/spec_helper_local.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,12 @@
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
Expand Down
4 changes: 2 additions & 2 deletions templates/radsniff.service.erb
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit b3642d7

Please sign in to comment.