summaryrefslogtreecommitdiff
path: root/spec/classes/rsyslog_server_spec.rb
blob: b46eeaa32908238bfc5fd96e88f42d032f57b80d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
require 'spec_helper'

describe 'rsyslog::server', :type => :class do

  ['RedHat', 'Debian'].each do |osfamily|
    context "osfamily = #{osfamily}" do
      let :facts do
        {
          :osfamily               => osfamily,
          :operatingsystem        => osfamily,
          :operatingsystemrelease => 6.0,
        }
      end

      context "default usage (osfamily = #{osfamily})" do
        let(:title) { 'rsyslog-server-basic' }
      
        it 'should compile' do
          should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
          should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
        end
      end

      context "enable_onefile (osfamily = #{osfamily})" do
        let(:title) { 'rsyslog-server-onefile' }
        let(:params) { {'enable_onefile' => 'true'} }
  
        it 'should compile' do
          should_not contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
          should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
        end
      end

      context "hostname_template (osfamily = #{osfamily})" do
        let(:title) { 'rsyslog-server-onefile' }
        let(:params) { {'custom_config' => 'rsyslog/server-hostname.conf.erb'} }
  
        it 'should compile' do
          should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/auth.log/)
          should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/messages/)
        end
      end

    end
  end


  context "osfamily = FreeBSD" do
    let :facts do
      {
        :osfamily        => 'freebsd',
      }
    end

    context "default usage (osfamily = FreeBSD)" do
      let(:title) { 'rsyslog-server-basic' }

      it 'should compile' do
        should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
        should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
      end
    end

    context "enable_onefile (osfamily = FreeBSD)" do
      let(:title) { 'rsyslog-server-onefile' }
      let(:params) { {'enable_onefile' => 'true'} }
 
      it 'should compile' do
        should_not contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
        should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
      end
    end

    context "hostname_template (osfamily = FreeBSD)" do
      let(:title) { 'rsyslog-server-onefile' }
      let(:params) { {'custom_config' => 'rsyslog/server-hostname.conf.erb'} }
 
      it 'should compile' do
        should contain_file('/etc/syslog.d/server.conf').with_content(/%hostname%\/auth.log/)
        should contain_file('/etc/syslog.d/server.conf').with_content(/%hostname%\/messages/)
      end
    end

  end

end # describe 'rsyslog::server'