Commit 1063f16a authored by Jerry Nicholls's avatar Jerry Nicholls
Browse files

Updated the attr define and tests as per PR feedback.

attr.pp now defaults to undef for 'relaxed'. The ERB file tests
for this and only applies the relaxed statment if needed.

Hopefully added tests for relaxed = undef/no/yes
parent b3fb586b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ define freeradius::attr (
  Freeradius::Ensure $ensure           = present,
  Optional[String] $key                = 'User-Name',
  Optional[String] $prefix             = 'filter',
  Optional[Enum['yes', 'no']] $relaxed = 'no',
  Optional[Enum['yes', 'no']] $relaxed = undef,
) {
  $fr_package          = $::freeradius::params::fr_package
  $fr_service          = $::freeradius::params::fr_service
+77 −19
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ describe 'freeradius::attr' do

  let(:title) { 'test' }

  context 'No specific relaxed value' do
    let(:params) do
      {
        source: 'puppet:///modules/test/path/to/file',
@@ -30,3 +31,60 @@ describe 'freeradius::attr' do
        .with_target('/etc/raddb/mods-available/attr_filter')
    end
  end

  context 'relaxed = no' do
    let(:params) do
      {
        source: 'puppet:///modules/test/path/to/file',
        relaxed: 'no',
      }
    end

    it do
      is_expected.to contain_file('/etc/raddb/mods-config/attr_filter/test')
        .that_notifies('Service[radiusd]')
        .that_requires('Group[radiusd]')
        .that_requires('Package[freeradius]')
        .with_ensure('present')
        .with_group('radiusd')
        .with_mode('0640')
        .with_owner('root')
        .with_source('puppet:///modules/test/path/to/file')
    end

    it do
      is_expected.to contain_concat__fragment('attr-test')
        .with_content(%r{^attr_filter filter.test {\n\s+key = "\%{User-Name}"\n\s+filename = \${modconfdir}/\${\.:name}/test\n\s+relaxed = no\n}})
        .with_order('20')
        .with_target('/etc/raddb/mods-available/attr_filter')
    end
  end

  context 'relaxed = yes' do
    let(:params) do
      {
        source: 'puppet:///modules/test/path/to/file',
        relaxed: 'yes',
      }
    end

    it do
      is_expected.to contain_file('/etc/raddb/mods-config/attr_filter/test')
        .that_notifies('Service[radiusd]')
        .that_requires('Group[radiusd]')
        .that_requires('Package[freeradius]')
        .with_ensure('present')
        .with_group('radiusd')
        .with_mode('0640')
        .with_owner('root')
        .with_source('puppet:///modules/test/path/to/file')
    end

    it do
      is_expected.to contain_concat__fragment('attr-test')
        .with_content(%r{^attr_filter filter.test {\n\s+key = "\%{User-Name}"\n\s+filename = \${modconfdir}/\${\.:name}/test\n\s+relaxed = yes\n}})
        .with_order('20')
        .with_target('/etc/raddb/mods-available/attr_filter')
    end
  end
end
+2 −0
Original line number Diff line number Diff line
attr_filter <%= @prefix %>.<%= @name %> {
	key = "%{<%= @key %>}"
	filename = ${modconfdir}/${.:name}/<%= @name %>
<% if defined?(@relaxed) -%>
	relaxed = <%= @relaxed %>
<% end -%>
}