From 18a16ca041469d99bc0c5d27c46db62a06903ed8 Mon Sep 17 00:00:00 2001 From: Yasser Nabi Date: Mon, 7 Jul 2014 13:30:14 +0100 Subject: Add parameter 'v8plus' for rsyslog version 8+ There has been some significant config changes in versions 8+ of Rsyslog, one of which is causing deprecated warnings with the Puppet module. This commit adds are class boolean parameter 'v8plus' to signify if the version of Rsyslog is version 8 or greater. Also, the deprecation warning is fixed (correct syntax is used). --- manifests/init.pp | 3 ++- manifests/params.pp | 5 +++++ templates/client.conf.erb | 6 +++++- templates/rsyslog.conf.erb | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index f0b2cd2..5758b13 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -37,7 +37,8 @@ class rsyslog ( $server_conf = $rsyslog::params::server_conf, $ssl = $rsyslog::params::ssl, $modules = $rsyslog::params::modules, - $preserve_fqdn = $rsyslog::params::preserve_fqdn + $preserve_fqdn = $rsyslog::params::preserve_fqdn, + $v8plus = $rsyslog::params::v8plus ) inherits rsyslog::params { class { 'rsyslog::install': } class { 'rsyslog::config': } diff --git a/manifests/params.pp b/manifests/params.pp index f4cd74b..2628d46 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -45,6 +45,7 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true + $v8plus = false } redhat: { if $::operatingsystem == 'Amazon' { @@ -119,6 +120,7 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true + $v8plus = false } sles: { $rsyslog_package_name = 'rsyslog' @@ -140,6 +142,7 @@ class rsyslog::params { $service_name = 'syslog' $client_conf = "${rsyslog_d}client.conf" $server_conf = "${rsyslog_d}server.conf" + $v8plus = false } freebsd: { $rsyslog_package_name = 'sysutils/rsyslog5' @@ -173,6 +176,7 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true + $v8plus = false } default: { @@ -209,6 +213,7 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true + $v8plus = false } default: { fail("The ${module_name} module is not supported on ${::osfamily}/${::operatingsystem}.") diff --git a/templates/client.conf.erb b/templates/client.conf.erb index c10512c..5733972 100644 --- a/templates/client.conf.erb +++ b/templates/client.conf.erb @@ -165,7 +165,11 @@ mail.* -/var/log/maillog cron.* /var/log/cron # Everybody gets emergency messages -*.emerg * +<% if scope.lookupvar('rsyslog::v8plus') == true -%> +*.emerg :omusrmsg:* +<% else -%> +*.emerg * +<% end -%> # Save news errors of level crit and higher in a special file. uucp,news.crit -/var/log/spooler diff --git a/templates/rsyslog.conf.erb b/templates/rsyslog.conf.erb index 097df0c..0339ef9 100644 --- a/templates/rsyslog.conf.erb +++ b/templates/rsyslog.conf.erb @@ -35,4 +35,8 @@ $IncludeConfig <%= scope.lookupvar('rsyslog::rsyslog_d') -%>*.conf # # Emergencies are sent to everybody logged in. # +<% if scope.lookupvar('rsyslog::v8plus') == true -%> +*.emerg :omusrmsg:* +<% else -%> *.emerg * +<% end -%> -- cgit v1.2.3 From 3b49f0c389e04971e1a3623e731e588b7fadb2d1 Mon Sep 17 00:00:00 2001 From: Yasser Nabi Date: Mon, 7 Jul 2014 13:30:14 +0100 Subject: Add parameter 'v8plus' for rsyslog version 8+ There has been some significant config changes in versions 8+ of Rsyslog, one of which is causing deprecated warnings with the Puppet module. This commit adds are class boolean parameter 'v8plus' to signify if the version of Rsyslog is version 8 or greater. Also, the deprecation warning is fixed (correct syntax is used). --- manifests/init.pp | 3 ++- manifests/params.pp | 5 +++++ templates/client.conf.erb | 6 +++++- templates/rsyslog.conf.erb | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index f0b2cd2..5758b13 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -37,7 +37,8 @@ class rsyslog ( $server_conf = $rsyslog::params::server_conf, $ssl = $rsyslog::params::ssl, $modules = $rsyslog::params::modules, - $preserve_fqdn = $rsyslog::params::preserve_fqdn + $preserve_fqdn = $rsyslog::params::preserve_fqdn, + $v8plus = $rsyslog::params::v8plus ) inherits rsyslog::params { class { 'rsyslog::install': } class { 'rsyslog::config': } diff --git a/manifests/params.pp b/manifests/params.pp index f4cd74b..2628d46 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -45,6 +45,7 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true + $v8plus = false } redhat: { if $::operatingsystem == 'Amazon' { @@ -119,6 +120,7 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true + $v8plus = false } sles: { $rsyslog_package_name = 'rsyslog' @@ -140,6 +142,7 @@ class rsyslog::params { $service_name = 'syslog' $client_conf = "${rsyslog_d}client.conf" $server_conf = "${rsyslog_d}server.conf" + $v8plus = false } freebsd: { $rsyslog_package_name = 'sysutils/rsyslog5' @@ -173,6 +176,7 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true + $v8plus = false } default: { @@ -209,6 +213,7 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true + $v8plus = false } default: { fail("The ${module_name} module is not supported on ${::osfamily}/${::operatingsystem}.") diff --git a/templates/client.conf.erb b/templates/client.conf.erb index bb40627..9dc5083 100644 --- a/templates/client.conf.erb +++ b/templates/client.conf.erb @@ -165,7 +165,11 @@ mail.* -/var/log/maillog cron.* /var/log/cron # Everybody gets emergency messages -*.emerg * +<% if scope.lookupvar('rsyslog::v8plus') == true -%> +*.emerg :omusrmsg:* +<% else -%> +*.emerg * +<% end -%> # Save news errors of level crit and higher in a special file. uucp,news.crit -/var/log/spooler diff --git a/templates/rsyslog.conf.erb b/templates/rsyslog.conf.erb index 097df0c..0339ef9 100644 --- a/templates/rsyslog.conf.erb +++ b/templates/rsyslog.conf.erb @@ -35,4 +35,8 @@ $IncludeConfig <%= scope.lookupvar('rsyslog::rsyslog_d') -%>*.conf # # Emergencies are sent to everybody logged in. # +<% if scope.lookupvar('rsyslog::v8plus') == true -%> +*.emerg :omusrmsg:* +<% else -%> *.emerg * +<% end -%> -- cgit v1.2.3 From 9fcacf58190007e27b01e623f91a63ad481bc43e Mon Sep 17 00:00:00 2001 From: Yasser Nabi Date: Thu, 10 Jul 2014 19:33:33 +0100 Subject: Use fact for rsyslog version instead of param With the introduction of the rsyslog_version fact, it seems more consistent to use that to determine what version of the config to use. The fact has also been updated to support FreeBSD (although not well tested) --- lib/facter/rsyslog_version.rb | 8 ++++++++ manifests/init.pp | 3 +-- templates/client.conf.erb | 2 +- templates/rsyslog.conf.erb | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/facter/rsyslog_version.rb b/lib/facter/rsyslog_version.rb index bbde16c..de8531e 100644 --- a/lib/facter/rsyslog_version.rb +++ b/lib/facter/rsyslog_version.rb @@ -23,6 +23,14 @@ Facter.add(:rsyslog_version) do else nil end + when "FreeBSD" + command='pkg query %v rsyslog' + version = Facter::Util::Resolution.exec(command) + if version =~ /^(.+)$/ + $1 + else + nil + end else nil end diff --git a/manifests/init.pp b/manifests/init.pp index 5758b13..f0b2cd2 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -37,8 +37,7 @@ class rsyslog ( $server_conf = $rsyslog::params::server_conf, $ssl = $rsyslog::params::ssl, $modules = $rsyslog::params::modules, - $preserve_fqdn = $rsyslog::params::preserve_fqdn, - $v8plus = $rsyslog::params::v8plus + $preserve_fqdn = $rsyslog::params::preserve_fqdn ) inherits rsyslog::params { class { 'rsyslog::install': } class { 'rsyslog::config': } diff --git a/templates/client.conf.erb b/templates/client.conf.erb index 9dc5083..d72e080 100644 --- a/templates/client.conf.erb +++ b/templates/client.conf.erb @@ -165,7 +165,7 @@ mail.* -/var/log/maillog cron.* /var/log/cron # Everybody gets emergency messages -<% if scope.lookupvar('rsyslog::v8plus') == true -%> +<% if @rsyslog_version.split('.')[0].to_i >= 8 -%> *.emerg :omusrmsg:* <% else -%> *.emerg * diff --git a/templates/rsyslog.conf.erb b/templates/rsyslog.conf.erb index 0339ef9..446c91e 100644 --- a/templates/rsyslog.conf.erb +++ b/templates/rsyslog.conf.erb @@ -35,7 +35,7 @@ $IncludeConfig <%= scope.lookupvar('rsyslog::rsyslog_d') -%>*.conf # # Emergencies are sent to everybody logged in. # -<% if scope.lookupvar('rsyslog::v8plus') == true -%> +<% if @rsyslog_version.split('.')[0].to_i >= 8 -%> *.emerg :omusrmsg:* <% else -%> *.emerg * -- cgit v1.2.3 From 473da25b6cb2900d91e4ac782c5538bf9bd3ec1b Mon Sep 17 00:00:00 2001 From: Yasser Nabi Date: Fri, 11 Jul 2014 10:14:47 +0100 Subject: Revert "Add parameter 'v8plus' for rsyslog version 8+" This reverts commit 18a16ca041469d99bc0c5d27c46db62a06903ed8. --- manifests/init.pp | 3 +-- manifests/params.pp | 5 ----- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 5758b13..f0b2cd2 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -37,8 +37,7 @@ class rsyslog ( $server_conf = $rsyslog::params::server_conf, $ssl = $rsyslog::params::ssl, $modules = $rsyslog::params::modules, - $preserve_fqdn = $rsyslog::params::preserve_fqdn, - $v8plus = $rsyslog::params::v8plus + $preserve_fqdn = $rsyslog::params::preserve_fqdn ) inherits rsyslog::params { class { 'rsyslog::install': } class { 'rsyslog::config': } diff --git a/manifests/params.pp b/manifests/params.pp index 2628d46..f4cd74b 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -45,7 +45,6 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true - $v8plus = false } redhat: { if $::operatingsystem == 'Amazon' { @@ -120,7 +119,6 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true - $v8plus = false } sles: { $rsyslog_package_name = 'rsyslog' @@ -142,7 +140,6 @@ class rsyslog::params { $service_name = 'syslog' $client_conf = "${rsyslog_d}client.conf" $server_conf = "${rsyslog_d}server.conf" - $v8plus = false } freebsd: { $rsyslog_package_name = 'sysutils/rsyslog5' @@ -176,7 +173,6 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true - $v8plus = false } default: { @@ -213,7 +209,6 @@ class rsyslog::params { $preserve_fqdn = false $service_hasrestart = true $service_hasstatus = true - $v8plus = false } default: { fail("The ${module_name} module is not supported on ${::osfamily}/${::operatingsystem}.") -- cgit v1.2.3 From eb7c36ae207abbff4a5121dfff8456e3609df45f Mon Sep 17 00:00:00 2001 From: Yasser Nabi Date: Fri, 11 Jul 2014 18:02:21 +0100 Subject: Update spec tests to support rsyslog_version fact With commit 9fcacf58, the module uses the rsyslog_version fact in templates. This commit updates the spec files to run cleanly with this fact. --- spec/classes/rsyslog_client_spec.rb | 119 +++++-- spec/classes/rsyslog_database_spec.rb | 351 +++++++++++++++------ spec/classes/rsyslog_server_spec.rb | 182 ++++++++--- spec/classes/rsyslog_spec.rb | 562 ++++++++++++++++++++++++---------- spec/defines/rsyslog_imfile_spec.rb | 178 ++++++++--- spec/defines/rsyslog_snippet_spec.rb | 160 +++++++--- 6 files changed, 1142 insertions(+), 410 deletions(-) diff --git a/spec/classes/rsyslog_client_spec.rb b/spec/classes/rsyslog_client_spec.rb index b05b416..52f933b 100644 --- a/spec/classes/rsyslog_client_spec.rb +++ b/spec/classes/rsyslog_client_spec.rb @@ -1,52 +1,119 @@ require 'spec_helper' describe 'rsyslog::client', :type => :class do - context "osfamily = RedHat" do - let :facts do + + context "Rsyslog version >= 8" do + let(:default_facts) do { - :osfamily => 'RedHat', - :operatingsystem => 'RedHat', - :operatingsystemmajrelease => 6, + :rsyslog_version => '8.1.2' } end - context "default usage (osfamily = RedHat)" do - let(:title) { 'rsyslog-client-basic' } + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-client-basic' } - it 'should compile' do - should contain_file('/etc/rsyslog.d/client.conf') + it 'should compile' do + should contain_file('/etc/rsyslog.d/client.conf') + end end end - end - context "osfamily = Debian" do - let :facts do - { - :osfamily => 'Debian', - } + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-client-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/client.conf') + end + end end - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-client-basic' } + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-client-basic' } - it 'should compile' do - should contain_file('/etc/rsyslog.d/client.conf') + it 'should compile' do + should contain_file('/etc/syslog.d/client.conf') + end end end end - context "osfamily = FreeBSD" do - let :facts do + context "Rsyslog version =< 8" do + let(:default_facts) do { - :osfamily => 'freebsd', + :rsyslog_version => '7.1.2' } end - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-client-basic' } + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-client-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/client.conf') + end + end + end + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-client-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/client.conf') + end + end + end + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = FreeBSD)" do + let(:title) { 'rsyslog-client-basic' } - it 'should compile' do - should contain_file('/etc/syslog.d/client.conf') + it 'should compile' do + should contain_file('/etc/syslog.d/client.conf') + end end end end diff --git a/spec/classes/rsyslog_database_spec.rb b/spec/classes/rsyslog_database_spec.rb index 83bb09a..0421135 100644 --- a/spec/classes/rsyslog_database_spec.rb +++ b/spec/classes/rsyslog_database_spec.rb @@ -1,146 +1,307 @@ require 'spec_helper' describe 'rsyslog::database', :type => :class do - context "osfamily = RedHat" do - let :facts do + + context "Rsyslog version >= 8" do + let(:default_facts) do { - :osfamily => 'RedHat', - :operatingsystem => 'RedHat', - :operatingsystemmajrelease => 6, + :rsyslog_version => '8.1.2' } end - context "default usage mysql (osfamily = RedHat)" do - let(:title) { 'rsyslog-database-mysql' } + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage mysql (osfamily = RedHat)" do + let(:title) { 'rsyslog-database-mysql' } - let (:params) { - { - 'backend' => 'mysql', - 'server' => 'localhost', - 'database' => 'rsyslog', - 'username' => 'us3rname', - 'password' => 'passw0rd', + let (:params) { + { + 'backend' => 'mysql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } } - } - it 'should compile' do - should contain_package('rsyslog-mysql') - should contain_file('/etc/rsyslog.d/mysql.conf') + it 'should compile' do + should contain_package('rsyslog-mysql') + should contain_file('/etc/rsyslog.d/mysql.conf') + end + end + + context "default usage pgsql (osfamily = RedHat)" do + let(:title) { 'rsyslog-database-pgsql' } + + let (:params) { + { + 'backend' => 'pgsql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } + } + + it 'should compile' do + should contain_package('rsyslog-pgsql') + should contain_file('/etc/rsyslog.d/pgsql.conf') + end end end - context "default usage pgsql (osfamily = RedHat)" do - let(:title) { 'rsyslog-database-pgsql' } - let (:params) { - { - 'backend' => 'pgsql', - 'server' => 'localhost', - 'database' => 'rsyslog', - 'username' => 'us3rname', - 'password' => 'passw0rd', + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage mysql (osfamily = Debian)" do + let(:title) { 'rsyslog-database-mysql' } + + let (:params) { + { + 'backend' => 'mysql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } + } + + it 'should compile' do + should contain_package('rsyslog-mysql') + should contain_file('/etc/rsyslog.d/mysql.conf') + end + end + + context "default usage pgsql (osfamily = Debian)" do + let(:title) { 'rsyslog-database-pgsql' } + + let (:params) { + { + 'backend' => 'pgsql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } } - } - it 'should compile' do - should contain_package('rsyslog-pgsql') - should contain_file('/etc/rsyslog.d/pgsql.conf') + it 'should compile' do + should contain_package('rsyslog-pgsql') + should contain_file('/etc/rsyslog.d/pgsql.conf') + end end end - end - context "osfamily = Debian" do - let :facts do + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage mysql (osfamily = FreeBSD)" do + let(:title) { 'rsyslog-database-mysql' } + + let (:params) { + { + 'backend' => 'mysql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } + } + + it 'should compile' do + should contain_package('sysutils/rsyslog5-mysql') + should contain_file('/etc/syslog.d/mysql.conf') + end + end + + context "default usage pgsql (osfamily = FreeBSD)" do + let(:title) { 'rsyslog-database-pgsql' } + + let (:params) { + { + 'backend' => 'pgsql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } + } + + it 'should compile' do + should contain_package('sysutils/rsyslog5-pgsql') + should contain_file('/etc/syslog.d/pgsql.conf') + end + end + end + end + + context "Rsyslog version =< 8" do + let(:default_facts) do { - :osfamily => 'Debian', + :rsyslog_version => '7.1.2' } end - context "default usage mysql (osfamily = Debian)" do - let(:title) { 'rsyslog-database-mysql' } + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage mysql (osfamily = RedHat)" do + let(:title) { 'rsyslog-database-mysql' } - let (:params) { - { - 'backend' => 'mysql', - 'server' => 'localhost', - 'database' => 'rsyslog', - 'username' => 'us3rname', - 'password' => 'passw0rd', + let (:params) { + { + 'backend' => 'mysql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } } - } - it 'should compile' do - should contain_package('rsyslog-mysql') - should contain_file('/etc/rsyslog.d/mysql.conf') + it 'should compile' do + should contain_package('rsyslog-mysql') + should contain_file('/etc/rsyslog.d/mysql.conf') + end end - end - context "default usage pgsql (osfamily = Debian)" do - let(:title) { 'rsyslog-database-pgsql' } + context "default usage pgsql (osfamily = RedHat)" do + let(:title) { 'rsyslog-database-pgsql' } - let (:params) { - { - 'backend' => 'pgsql', - 'server' => 'localhost', - 'database' => 'rsyslog', - 'username' => 'us3rname', - 'password' => 'passw0rd', + let (:params) { + { + 'backend' => 'pgsql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } } - } - it 'should compile' do - should contain_package('rsyslog-pgsql') - should contain_file('/etc/rsyslog.d/pgsql.conf') + it 'should compile' do + should contain_package('rsyslog-pgsql') + should contain_file('/etc/rsyslog.d/pgsql.conf') + end end end - end - context "osfamily = FreeBSD" do - let :facts do - { - :osfamily => 'freebsd', - } - end + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end - context "default usage mysql (osfamily = FreeBSD)" do - let(:title) { 'rsyslog-database-mysql' } + context "default usage mysql (osfamily = Debian)" do + let(:title) { 'rsyslog-database-mysql' } - let (:params) { - { - 'backend' => 'mysql', - 'server' => 'localhost', - 'database' => 'rsyslog', - 'username' => 'us3rname', - 'password' => 'passw0rd', + let (:params) { + { + 'backend' => 'mysql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } } - } - it 'should compile' do - should contain_package('sysutils/rsyslog5-mysql') - should contain_file('/etc/syslog.d/mysql.conf') + it 'should compile' do + should contain_package('rsyslog-mysql') + should contain_file('/etc/rsyslog.d/mysql.conf') + end + end + + context "default usage pgsql (osfamily = Debian)" do + let(:title) { 'rsyslog-database-pgsql' } + + let (:params) { + { + 'backend' => 'pgsql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } + } + + it 'should compile' do + should contain_package('rsyslog-pgsql') + should contain_file('/etc/rsyslog.d/pgsql.conf') + end end end - context "default usage pgsql (osfamily = FreeBSD)" do - let(:title) { 'rsyslog-database-pgsql' } - let (:params) { - { - 'backend' => 'pgsql', - 'server' => 'localhost', - 'database' => 'rsyslog', - 'username' => 'us3rname', - 'password' => 'passw0rd', + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage mysql (osfamily = FreeBSD)" do + let(:title) { 'rsyslog-database-mysql' } + + let (:params) { + { + 'backend' => 'mysql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } + } + + it 'should compile' do + should contain_package('sysutils/rsyslog5-mysql') + should contain_file('/etc/syslog.d/mysql.conf') + end + end + + context "default usage pgsql (osfamily = FreeBSD)" do + let(:title) { 'rsyslog-database-pgsql' } + + let (:params) { + { + 'backend' => 'pgsql', + 'server' => 'localhost', + 'database' => 'rsyslog', + 'username' => 'us3rname', + 'password' => 'passw0rd', + } } - } - it 'should compile' do - should contain_package('sysutils/rsyslog5-pgsql') - should contain_file('/etc/syslog.d/pgsql.conf') + it 'should compile' do + should contain_package('sysutils/rsyslog5-pgsql') + should contain_file('/etc/syslog.d/pgsql.conf') + end end end end diff --git a/spec/classes/rsyslog_server_spec.rb b/spec/classes/rsyslog_server_spec.rb index cbaf81b..8f57656 100644 --- a/spec/classes/rsyslog_server_spec.rb +++ b/spec/classes/rsyslog_server_spec.rb @@ -2,85 +2,181 @@ require 'spec_helper' describe 'rsyslog::server', :type => :class do - ['RedHat', 'Debian'].each do |osfamily| - context "osfamily = #{osfamily}" do + context "Rsyslog version >= 8" do + let(:default_facts) do + { + :rsyslog_version => '8.1.2' + } + end + + ['RedHat', 'Debian'].each do |osfamily| + context "osfamily = #{osfamily}" do + let :facts do + default_facts.merge!({ + :osfamily => osfamily, + :operatingsystem => osfamily, + :operatingsystemmajrelease => 6, + }) + 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 => osfamily, - :operatingsystem => osfamily, - :operatingsystemmajrelease => 6, - } + default_facts.merge!({ + :osfamily => 'freebsd', + }) end - context "default usage (osfamily = #{osfamily})" do + context "default usage (osfamily = FreeBSD)" 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/) + 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 = #{osfamily})" do + 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/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/) + 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 = #{osfamily})" do + 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/rsyslog.d/server.conf').with_content(/%hostname%\/auth.log/) - should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/messages/) + 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 - - context "osfamily = FreeBSD" do - let :facts do + context "Rsyslog version =< 8" do + let(:default_facts) do { - :osfamily => 'freebsd', + :rsyslog_version => '7.1.2' } end - context "default usage (osfamily = FreeBSD)" do - let(:title) { 'rsyslog-server-basic' } + ['RedHat', 'Debian'].each do |osfamily| + context "osfamily = #{osfamily}" do + let :facts do + default_facts.merge!({ + :osfamily => osfamily, + :operatingsystem => osfamily, + :operatingsystemmajrelease => 6, + }) + 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 - 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'} } + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :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/) + 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 - end - context "hostname_template (osfamily = FreeBSD)" do - let(:title) { 'rsyslog-server-onefile' } - let(:params) { {'custom_config' => 'rsyslog/server-hostname.conf.erb'} } + 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/) + 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 end - end # describe 'rsyslog::server' diff --git a/spec/classes/rsyslog_spec.rb b/spec/classes/rsyslog_spec.rb index a4747bc..308ccf9 100644 --- a/spec/classes/rsyslog_spec.rb +++ b/spec/classes/rsyslog_spec.rb @@ -1,215 +1,445 @@ require 'spec_helper' describe 'rsyslog', :type => :class do - context "osfamily = RedHat" do - let :facts do + + context "Rsyslog version >= 8" do + let(:default_facts) do { - :osfamily => 'RedHat', - :operatingsystem => 'RedHat', - :operatingsystemmajrelease => 6, + :rsyslog_version => '8.1.2' } end - context "default usage (osfamily = RedHat)" do - let(:title) { 'rsyslog-basic' } - - it 'should compile' do - should contain_class('rsyslog::install') - should contain_class('rsyslog::config') - should contain_class('rsyslog::service') + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_class('rsyslog::install') + should contain_class('rsyslog::config') + should contain_class('rsyslog::service') + end end end - end - - context "osfamily = Debian" do - let :facts do - { - :osfamily => 'Debian', - } + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_class('rsyslog::install') + should contain_class('rsyslog::config') + should contain_class('rsyslog::service') + end + end end - - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-basic' } - - it 'should compile' do - should contain_class('rsyslog::install') - should contain_class('rsyslog::config') - should contain_class('rsyslog::service') + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = FreeBSD)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_class('rsyslog::install') + should contain_class('rsyslog::config') + should contain_class('rsyslog::service') + end end end - end - - context "osfamily = FreeBSD" do - let :facts do - { - :osfamily => 'freebsd', - } + + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.conf') + should contain_file('/etc/rsyslog.d/') + end + end end - - context "default usage (osfamily = FreeBSD)" do - let(:title) { 'rsyslog-basic' } - - it 'should compile' do - should contain_class('rsyslog::install') - should contain_class('rsyslog::config') - should contain_class('rsyslog::service') + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.conf') + should contain_file('/etc/rsyslog.d/') + end end end - end - - context "osfamily = RedHat" do - let :facts do - { - :osfamily => 'RedHat', - :operatingsystem => 'RedHat', - :operatingsystemmajrelease => 6, - } + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_file('/etc/syslog.conf') + should contain_file('/etc/syslog.d/') + end + end end - - context "default usage (osfamily = RedHat)" do - let(:title) { 'rsyslog-basic' } - - it 'should compile' do - should contain_file('/etc/rsyslog.conf') - should contain_file('/etc/rsyslog.d/') + + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-install-basic' } + + it 'should compile' do + should contain_package('rsyslog') + should contain_package('rsyslog-relp') + end end end - end - - context "osfamily = Debian" do - let :facts do - { - :osfamily => 'Debian', - } + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-install-basic' } + + it 'should compile' do + should contain_package('rsyslog') + should contain_package('rsyslog-relp') + end + end end - - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-basic' } - - it 'should compile' do - should contain_file('/etc/rsyslog.conf') - should contain_file('/etc/rsyslog.d/') + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-install-basic' } + + it 'should compile' do + should contain_package('sysutils/rsyslog5') + should contain_package('sysutils/rsyslog5-relp') + end end end - end - - context "osfamily = FreeBSD" do - let :facts do - { - :osfamily => 'freebsd', - } + + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-service-basic' } + + it 'should compile' do + should contain_service('rsyslog') + end + end end - - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-basic' } - - it 'should compile' do - should contain_file('/etc/syslog.conf') - should contain_file('/etc/syslog.d/') + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-service-basic' } + + it 'should compile' do + should contain_service('rsyslog') + end + end + end + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-service-basic' } + + it 'should compile' do + should contain_service('syslogd') + end end end end - context "osfamily = RedHat" do - let :facts do + context "Rsyslog version =< 8" do + let(:default_facts) do { - :osfamily => 'RedHat', - :operatingsystem => 'RedHat', - :operatingsystemmajrelease => 6, + :rsyslog_version => '7.1.2' } end - context "default usage (osfamily = RedHat)" do - let(:title) { 'rsyslog-install-basic' } - - it 'should compile' do - should contain_package('rsyslog') - should contain_package('rsyslog-relp') + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_class('rsyslog::install') + should contain_class('rsyslog::config') + should contain_class('rsyslog::service') + end end end - end - - context "osfamily = Debian" do - let :facts do - { - :osfamily => 'Debian', - } + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_class('rsyslog::install') + should contain_class('rsyslog::config') + should contain_class('rsyslog::service') + end + end end - - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-install-basic' } - - it 'should compile' do - should contain_package('rsyslog') - should contain_package('rsyslog-relp') + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = FreeBSD)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_class('rsyslog::install') + should contain_class('rsyslog::config') + should contain_class('rsyslog::service') + end end end - end - - context "osfamily = FreeBSD" do - let :facts do - { - :osfamily => 'freebsd', - } + + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.conf') + should contain_file('/etc/rsyslog.d/') + end + end end - - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-install-basic' } - - it 'should compile' do - should contain_package('sysutils/rsyslog5') - should contain_package('sysutils/rsyslog5-relp') + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.conf') + should contain_file('/etc/rsyslog.d/') + end end end - end - - context "osfamily = RedHat" do - let :facts do - { - :osfamily => 'RedHat', - :operatingsystem => 'RedHat', - :operatingsystemmajrelease => 6, - } + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-basic' } + + it 'should compile' do + should contain_file('/etc/syslog.conf') + should contain_file('/etc/syslog.d/') + end + end end - - context "default usage (osfamily = RedHat)" do - let(:title) { 'rsyslog-service-basic' } - - it 'should compile' do - should contain_service('rsyslog') + + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-install-basic' } + + it 'should compile' do + should contain_package('rsyslog') + should contain_package('rsyslog-relp') + end end end - end - - context "osfamily = Debian" do - let :facts do - { - :osfamily => 'Debian', - } + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-install-basic' } + + it 'should compile' do + should contain_package('rsyslog') + should contain_package('rsyslog-relp') + end + end end - - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-service-basic' } - - it 'should compile' do - should contain_service('rsyslog') + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-install-basic' } + + it 'should compile' do + should contain_package('sysutils/rsyslog5') + should contain_package('sysutils/rsyslog5-relp') + end end end - end - - context "osfamily = FreeBSD" do - let :facts do - { - :osfamily => 'freebsd', - } + + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-service-basic' } + + it 'should compile' do + should contain_service('rsyslog') + end + end end - - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-service-basic' } - - it 'should compile' do - should contain_service('syslogd') + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-service-basic' } + + it 'should compile' do + should contain_service('rsyslog') + end + end + end + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-service-basic' } + + it 'should compile' do + should contain_service('syslogd') + end end end end + end diff --git a/spec/defines/rsyslog_imfile_spec.rb b/spec/defines/rsyslog_imfile_spec.rb index b2cfcf9..1c505eb 100644 --- a/spec/defines/rsyslog_imfile_spec.rb +++ b/spec/defines/rsyslog_imfile_spec.rb @@ -1,77 +1,169 @@ require 'spec_helper' describe 'rsyslog::imfile', :type => :define do - context "osfamily = RedHat" do - let :facts do + + context "Rsyslog version >= 8" do + let(:default_facts) do { - :osfamily => 'RedHat', - :operatingsystem => 'RedHat', - :operatingsystemmajrelease => 6, + :rsyslog_version => '8.1.2' } end - let (:params) { - { - 'file_name' => 'mylogfile', - 'file_tag' => 'mytag', - 'file_facility' => 'myfacility', + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + let (:params) { + { + 'file_name' => 'mylogfile', + 'file_tag' => 'mytag', + 'file_facility' => 'myfacility', + } } - } - context "default usage (osfamily = RedHat)" do - let(:title) { 'rsyslog-imfile-basic' } + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-imfile-basic' } - it 'should compile' do - should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf') + it 'should compile' do + should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf') + end end end - end - context "osfamily = Debian" do - let :facts do - { - :osfamily => 'Debian', + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + let (:params) { + { + 'file_name' => 'mylogfile', + 'file_tag' => 'mytag', + 'file_facility' => 'myfacility', + } } + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-imfile-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf') + end + end end - let (:params) { - { - 'file_name' => 'mylogfile', - 'file_tag' => 'mytag', - 'file_facility' => 'myfacility', + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + let (:params) { + { + 'file_name' => 'mylogfile', + 'file_tag' => 'mytag', + 'file_facility' => 'myfacility', + } } - } - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-imfile-basic' } + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-imfile-basic' } - it 'should compile' do - should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf') + it 'should compile' do + should contain_file('/etc/syslog.d/rsyslog-imfile-basic.conf') + end end end end - context "osfamily = FreeBSD" do - let :facts do + context "Rsyslog version =< 8" do + let(:default_facts) do { - :osfamily => 'freebsd', + :rsyslog_version => '7.1.2' } end - let (:params) { - { - 'file_name' => 'mylogfile', - 'file_tag' => 'mytag', - 'file_facility' => 'myfacility', + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemmajrelease => 6, + }) + end + + let (:params) { + { + 'file_name' => 'mylogfile', + 'file_tag' => 'mytag', + 'file_facility' => 'myfacility', + } } - } - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-imfile-basic' } + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-imfile-basic' } - it 'should compile' do - should contain_file('/etc/syslog.d/rsyslog-imfile-basic.conf') + it 'should compile' do + should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf') + end + end + end + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + let (:params) { + { + 'file_name' => 'mylogfile', + 'file_tag' => 'mytag', + 'file_facility' => 'myfacility', + } + } + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-imfile-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf') + end + end + end + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + let (:params) { + { + 'file_name' => 'mylogfile', + 'file_tag' => 'mytag', + 'file_facility' => 'myfacility', + } + } + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-imfile-basic' } + + it 'should compile' do + should contain_file('/etc/syslog.d/rsyslog-imfile-basic.conf') + end end end end + end diff --git a/spec/defines/rsyslog_snippet_spec.rb b/spec/defines/rsyslog_snippet_spec.rb index e04ad6a..6cc6883 100644 --- a/spec/defines/rsyslog_snippet_spec.rb +++ b/spec/defines/rsyslog_snippet_spec.rb @@ -1,71 +1,157 @@ require 'spec_helper' describe 'rsyslog::snippet', :type => :define do - context "osfamily = RedHat" do - let :facts do + + context "Rsyslog version >= 8" do + let(:default_facts) do { - :osfamily => 'RedHat', - :operatingsystem => 'Redhat', - :operatingsystemmajrelease => 6, + :rsyslog_version => '8.1.2' } end - let (:params) { - { - 'content' => 'Random Content', + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'Redhat', + :operatingsystemmajrelease => 6, + }) + end + + let (:params) { + { + 'content' => 'Random Content', + } } - } - context "default usage (osfamily = RedHat)" do - let(:title) { 'rsyslog-snippet-basic' } + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-snippet-basic' } - it 'should compile' do - should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + it 'should compile' do + should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + end end end - end - context "osfamily = Debian" do - let :facts do - { - :osfamily => 'Debian', + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + let (:params) { + { + 'content' => 'Random Content', + } } + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-snippet-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + end + end end - let (:params) { - { - 'content' => 'Random Content', + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + let (:params) { + { + 'content' => 'Random Content', + } } - } - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-snippet-basic' } + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-snippet-basic' } - it 'should compile' do - should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + it 'should compile' do + should contain_file('/etc/syslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + end end end end - context "osfamily = FreeBSD" do - let :facts do + context "Rsyslog version =< 8" do + let(:default_facts) do { - :osfamily => 'freebsd', + :rsyslog_version => '7.1.2' } end - let (:params) { - { - 'content' => 'Random Content', + context "osfamily = RedHat" do + let :facts do + default_facts.merge!({ + :osfamily => 'RedHat', + :operatingsystem => 'Redhat', + :operatingsystemmajrelease => 6, + }) + end + + let (:params) { + { + 'content' => 'Random Content', + } } - } - context "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-snippet-basic' } + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-snippet-basic' } - it 'should compile' do - should contain_file('/etc/syslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + it 'should compile' do + should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + end + end + end + + context "osfamily = Debian" do + let :facts do + default_facts.merge!({ + :osfamily => 'Debian', + }) + end + + let (:params) { + { + 'content' => 'Random Content', + } + } + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-snippet-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + end + end + end + + context "osfamily = FreeBSD" do + let :facts do + default_facts.merge!({ + :osfamily => 'freebsd', + }) + end + + let (:params) { + { + 'content' => 'Random Content', + } + } + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-snippet-basic' } + + it 'should compile' do + should contain_file('/etc/syslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n") + end end end end + end -- cgit v1.2.3