From f14ab8a15c76c72c2a8cb92cdd8d79bae613e6ca Mon Sep 17 00:00:00 2001 From: Jonathan Thurman Date: Wed, 14 Nov 2012 11:43:57 -0800 Subject: Create spec tests for all classes/defines and perform most cleanup recommended by puppet-lint --- spec/classes/rsyslog_client_spec.rb | 51 ++++++++++++ spec/classes/rsyslog_config_spec.rb | 54 +++++++++++++ spec/classes/rsyslog_database_spec.rb | 145 ++++++++++++++++++++++++++++++++++ spec/classes/rsyslog_install_spec.rb | 54 +++++++++++++ spec/classes/rsyslog_server_spec.rb | 51 ++++++++++++ spec/classes/rsyslog_service_spec.rb | 51 ++++++++++++ spec/classes/rsyslog_spec.rb | 57 +++++++++++++ spec/defines/rsyslog_imfile_spec.rb | 75 ++++++++++++++++++ spec/defines/rsyslog_snippet_spec.rb | 69 ++++++++++++++++ spec/fixtures/.gitignore | 2 + spec/spec_helper.rb | 19 +---- 11 files changed, 610 insertions(+), 18 deletions(-) create mode 100644 spec/classes/rsyslog_client_spec.rb create mode 100644 spec/classes/rsyslog_config_spec.rb create mode 100644 spec/classes/rsyslog_database_spec.rb create mode 100644 spec/classes/rsyslog_install_spec.rb create mode 100644 spec/classes/rsyslog_server_spec.rb create mode 100644 spec/classes/rsyslog_service_spec.rb create mode 100644 spec/classes/rsyslog_spec.rb create mode 100644 spec/defines/rsyslog_imfile_spec.rb create mode 100644 spec/defines/rsyslog_snippet_spec.rb create mode 100644 spec/fixtures/.gitignore (limited to 'spec') diff --git a/spec/classes/rsyslog_client_spec.rb b/spec/classes/rsyslog_client_spec.rb new file mode 100644 index 0000000..bdfccbf --- /dev/null +++ b/spec/classes/rsyslog_client_spec.rb @@ -0,0 +1,51 @@ +require 'spec_helper' + +describe 'rsyslog::client', :type => :class do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + 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 + { + :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 + { + :osfamily => 'freebsd', + } + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-client-basic' } + + it 'should compile' do + should contain_file('/etc/syslog.d/client.conf') + end + end + end +end diff --git a/spec/classes/rsyslog_config_spec.rb b/spec/classes/rsyslog_config_spec.rb new file mode 100644 index 0000000..640da2d --- /dev/null +++ b/spec/classes/rsyslog_config_spec.rb @@ -0,0 +1,54 @@ +require 'spec_helper' + +describe 'rsyslog::config', :type => :class do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + 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 "osfamily = Debian" do + let :facts do + { + :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 + + context "osfamily = FreeBSD" do + let :facts do + { + :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 +end diff --git a/spec/classes/rsyslog_database_spec.rb b/spec/classes/rsyslog_database_spec.rb new file mode 100644 index 0000000..982ccde --- /dev/null +++ b/spec/classes/rsyslog_database_spec.rb @@ -0,0 +1,145 @@ +require 'spec_helper' + +describe 'rsyslog::database', :type => :class do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + 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', + } + } + + 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 "osfamily = Debian" do + let :facts do + { + :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') + end + end + end + + + + context "osfamily = FreeBSD" do + let :facts do + { + :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 diff --git a/spec/classes/rsyslog_install_spec.rb b/spec/classes/rsyslog_install_spec.rb new file mode 100644 index 0000000..a1baea3 --- /dev/null +++ b/spec/classes/rsyslog_install_spec.rb @@ -0,0 +1,54 @@ +require 'spec_helper' + +describe 'rsyslog::install', :type => :class do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + 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 + + context "osfamily = Debian" do + let :facts do + { + :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 "osfamily = FreeBSD" do + let :facts do + { + :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 diff --git a/spec/classes/rsyslog_server_spec.rb b/spec/classes/rsyslog_server_spec.rb new file mode 100644 index 0000000..4f8bb62 --- /dev/null +++ b/spec/classes/rsyslog_server_spec.rb @@ -0,0 +1,51 @@ +require 'spec_helper' + +describe 'rsyslog::server', :type => :class do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-server-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/server.conf') + end + end + end + + context "osfamily = Debian" do + let :facts do + { + :osfamily => 'Debian', + } + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-server-basic' } + + it 'should compile' do + should contain_file('/etc/rsyslog.d/server.conf') + end + end + end + + context "osfamily = FreeBSD" do + let :facts do + { + :osfamily => 'freebsd', + } + end + + context "default usage (osfamily = Debian)" do + let(:title) { 'rsyslog-server-basic' } + + it 'should compile' do + should contain_file('/etc/syslog.d/server.conf') + end + end + end +end diff --git a/spec/classes/rsyslog_service_spec.rb b/spec/classes/rsyslog_service_spec.rb new file mode 100644 index 0000000..411f8c1 --- /dev/null +++ b/spec/classes/rsyslog_service_spec.rb @@ -0,0 +1,51 @@ +require 'spec_helper' + +describe 'rsyslog::service', :type => :class do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + end + + context "default usage (osfamily = RedHat)" do + let(:title) { 'rsyslog-service-basic' } + + it 'should compile' do + should contain_service('rsyslog') + end + end + end + + context "osfamily = Debian" do + let :facts do + { + :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 + { + :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 diff --git a/spec/classes/rsyslog_spec.rb b/spec/classes/rsyslog_spec.rb new file mode 100644 index 0000000..d6a6bf7 --- /dev/null +++ b/spec/classes/rsyslog_spec.rb @@ -0,0 +1,57 @@ +require 'spec_helper' + +describe 'rsyslog', :type => :class do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + 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 + + context "osfamily = Debian" do + let :facts do + { + :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 "osfamily = FreeBSD" do + let :facts do + { + :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 diff --git a/spec/defines/rsyslog_imfile_spec.rb b/spec/defines/rsyslog_imfile_spec.rb new file mode 100644 index 0000000..82c8312 --- /dev/null +++ b/spec/defines/rsyslog_imfile_spec.rb @@ -0,0 +1,75 @@ +require 'spec_helper' + +describe 'rsyslog::imfile', :type => :define do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + end + + let (:params) { + { + 'file_name' => 'mylogfile', + 'file_tag' => 'mytag', + 'file_facility' => 'myfacility', + } + } + + 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') + end + end + end + + context "osfamily = Debian" do + let :facts do + { + :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 + { + :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 diff --git a/spec/defines/rsyslog_snippet_spec.rb b/spec/defines/rsyslog_snippet_spec.rb new file mode 100644 index 0000000..b279cce --- /dev/null +++ b/spec/defines/rsyslog_snippet_spec.rb @@ -0,0 +1,69 @@ +require 'spec_helper' + +describe 'rsyslog::snippet', :type => :define do + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + end + + let (:params) { + { + 'content' => 'Random Content', + } + } + + 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("Random Content\n") + end + end + end + + context "osfamily = Debian" do + let :facts do + { + :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("Random Content\n") + end + end + end + + context "osfamily = FreeBSD" do + let :facts do + { + :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("Random Content\n") + end + end + end +end diff --git a/spec/fixtures/.gitignore b/spec/fixtures/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/spec/fixtures/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index a4aeeae..2c6f566 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,18 +1 @@ -require 'pathname' -dir = Pathname.new(__FILE__).parent -$LOAD_PATH.unshift(dir, dir + 'lib', dir + '../lib') - -require 'mocha' -require 'puppet' -gem 'rspec', '=1.2.9' -require 'spec/autorun' - -Spec::Runner.configure do |config| - config.mock_with :mocha -end - -# We need this because the RAL uses 'should' as a method. This -# allows us the same behaviour but with a different method name. -class Object - alias :must :should -end +require 'puppetlabs_spec_helper/module_spec_helper' -- cgit v1.2.3