Commit b3642d7d authored by Nathan Ward's avatar Nathan Ward
Browse files

Fix up radsniff tests so they actually run, and fix up all the silly mistakes I had made..

parent 12dab8c2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -5,3 +5,4 @@ fixtures:
    logrotate: "puppet/logrotate"
    rsyslog: "saz/rsyslog"
    stdlib: "puppetlabs/stdlib"
    systemd: "camptocamp/systemd"
+7 −7
Original line number Diff line number Diff line
@@ -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')
    }
@@ -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')
    }
@@ -36,7 +36,7 @@ class freeradius::radsniff (

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

  file { $envfile:
  file { $final_envfile:
    content => @("SYSCONFIG"),
      RADSNIFF_OPTIONS="${escaped_cmd}"
      | SYSCONFIG
@@ -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'],
  }
}
+32 −4
Original line number Diff line number Diff line
@@ -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
@@ -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')
@@ -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'
@@ -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
@@ -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
+6 −4
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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