From ae7256a8c28191d6d5da4419280e7fa5055151e8 Mon Sep 17 00:00:00 2001 From: Max Wilhelm Date: Wed, 27 Jan 2016 12:45:27 +0100 Subject: [PATCH] added context to class spec tests to be able to test osfamily RedHat --- spec/classes/fluentd_config_spec.rb | 34 +++++++++++++++++++-------- spec/classes/fluentd_install_spec.rb | 33 +++++++++++++++++++------- spec/classes/fluentd_repo_spec.rb | 29 ++++++++++++++++------- spec/classes/fluentd_service_spec.rb | 34 +++++++++++++++++++-------- spec/classes/fluentd_spec.rb | 35 ++++++++++++++++++++-------- spec/classes/fluentd_user_spec.rb | 34 +++++++++++++++++++-------- 6 files changed, 141 insertions(+), 58 deletions(-) diff --git a/spec/classes/fluentd_config_spec.rb b/spec/classes/fluentd_config_spec.rb index b05a702..395f2a2 100644 --- a/spec/classes/fluentd_config_spec.rb +++ b/spec/classes/fluentd_config_spec.rb @@ -1,16 +1,7 @@ require 'spec_helper' describe 'fluentd::config', :type => :class do - let(:facts) { - { - :osfamily => 'Debian', - :lsbdistid => 'Ubuntu', - :operatingsystem => 'Ubuntu', - :lsbdistcodename => 'precise', - } - } - - describe 'when called with no parameters on Ubuntu' do + shared_examples 'when called with no parameters' do it { should contain_file('/etc/td-agent/td-agent.conf').with({ 'ensure' => 'file', @@ -28,4 +19,27 @@ describe 'fluentd::config', :type => :class do }) } end + + context 'when osfamily is Debian' do + let(:facts) { + { + :osfamily => 'Debian', + :lsbdistid => 'Ubuntu', + :operatingsystem => 'Ubuntu', + :lsbdistcodename => 'precise', + } + } + + include_examples 'when called with no parameters' + end + + context 'when osfamily is RedHat' do + let(:facts) { + { + :osfamily => 'RedHat', + } + } + + include_examples 'when called with no parameters' + end end diff --git a/spec/classes/fluentd_install_spec.rb b/spec/classes/fluentd_install_spec.rb index bd7044e..9a5e7f0 100644 --- a/spec/classes/fluentd_install_spec.rb +++ b/spec/classes/fluentd_install_spec.rb @@ -1,16 +1,8 @@ require 'spec_helper' describe 'fluentd::install', :type => :class do - let(:facts) { - { - :osfamily => 'Debian', - :lsbdistid => 'Ubuntu', - :operatingsystem => 'Ubuntu', - :lsbdistcodename => 'precise', - } - } - describe 'when called with no parameters on Ubuntu' do + shared_examples 'when called with no parameters' do it { should contain_package('fluentd').with({ 'ensure' => 'installed', @@ -19,4 +11,27 @@ describe 'fluentd::install', :type => :class do }) } end + + context 'when osfamily is Debian' do + let(:facts) { + { + :osfamily => 'Debian', + :lsbdistid => 'Ubuntu', + :operatingsystem => 'Ubuntu', + :lsbdistcodename => 'precise', + } + } + include_examples 'when called with no parameters' + end + + context 'when osfamily is RedHat' do + let(:facts) { + { + :osfamily => 'RedHat', + } + } + + include_examples 'when called with no parameters' + end + end diff --git a/spec/classes/fluentd_repo_spec.rb b/spec/classes/fluentd_repo_spec.rb index 1202478..6ad8b4f 100644 --- a/spec/classes/fluentd_repo_spec.rb +++ b/spec/classes/fluentd_repo_spec.rb @@ -1,18 +1,29 @@ require 'spec_helper' describe 'fluentd::repo', :type => :class do - let(:facts) { - { - :osfamily => 'Debian', - :lsbdistid => 'Ubuntu', - :operatingsystem => 'Ubuntu', - :lsbdistcodename => 'precise', - } - } - describe 'when called with no parameters on Ubuntu' do + context 'when called with no parameters on osfamily Debian' do + let(:facts) { + { + :osfamily => 'Debian', + :lsbdistid => 'Ubuntu', + :operatingsystem => 'Ubuntu', + :lsbdistcodename => 'precise', + } + } it { should contain_class('fluentd::repo::apt') } end + + context 'when called with no parameters on osfamily RedHat' do + let(:facts) { + { + :osfamily => 'RedHat', + } + } + it { + should contain_class('fluentd::repo::yum') + } + end end diff --git a/spec/classes/fluentd_service_spec.rb b/spec/classes/fluentd_service_spec.rb index 402b2cd..c7789e6 100644 --- a/spec/classes/fluentd_service_spec.rb +++ b/spec/classes/fluentd_service_spec.rb @@ -1,16 +1,7 @@ require 'spec_helper' describe 'fluentd::config', :type => :class do - let(:facts) { - { - :osfamily => 'Debian', - :lsbdistid => 'Ubuntu', - :operatingsystem => 'Ubuntu', - :lsbdistcodename => 'precise', - } - } - - describe 'when called with no parameters on Ubuntu' do + shared_examples 'when called with no parameters' do it { should contain_service('fluentd').with({ 'name' => 'td-agent', @@ -21,4 +12,27 @@ describe 'fluentd::config', :type => :class do }) } end + + context 'when osfamily is Debian' do + let(:facts) { + { + :osfamily => 'Debian', + :lsbdistid => 'Ubuntu', + :operatingsystem => 'Ubuntu', + :lsbdistcodename => 'precise', + } + } + + include_examples 'when called with no parameters' + end + + context 'when osfamily is RedHat' do + let(:facts) { + { + :osfamily => 'RedHat', + } + } + + include_examples 'when called with no parameters' + end end diff --git a/spec/classes/fluentd_spec.rb b/spec/classes/fluentd_spec.rb index 4673b10..696e0f7 100644 --- a/spec/classes/fluentd_spec.rb +++ b/spec/classes/fluentd_spec.rb @@ -1,16 +1,7 @@ require 'spec_helper' describe 'fluentd', :type => :class do - let(:facts) { - { - :osfamily => 'Debian', - :lsbdistid => 'Ubuntu', - :operatingsystem => 'Ubuntu', - :lsbdistcodename => 'precise', - } - } - - describe 'when called with no parameters on Ubuntu' do + shared_examples 'when called with no parameters' do it { should contain_class('fluentd::repo') should contain_class('fluentd::install') @@ -18,4 +9,28 @@ describe 'fluentd', :type => :class do should contain_class('fluentd::service') } end + + context 'when osfamily is Debian' do + let(:facts) { + { + :osfamily => 'Debian', + :lsbdistid => 'Ubuntu', + :operatingsystem => 'Ubuntu', + :lsbdistcodename => 'precise', + } + } + + include_examples 'when called with no parameters' + end + + context 'when osfamily is RedHat' do + let(:facts) { + { + :osfamily => 'RedHat', + } + } + + include_examples 'when called with no parameters' + end + end diff --git a/spec/classes/fluentd_user_spec.rb b/spec/classes/fluentd_user_spec.rb index 12af089..fcf37ad 100644 --- a/spec/classes/fluentd_user_spec.rb +++ b/spec/classes/fluentd_user_spec.rb @@ -1,16 +1,7 @@ require 'spec_helper' describe 'fluentd::user', :type => :class do - let(:facts) { - { - :osfamily => 'Debian', - :lsbdistid => 'Ubuntu', - :operatingsystem => 'Ubuntu', - :lsbdistcodename => 'precise', - } - } - - describe 'when called with no parameters on Ubuntu' do + shared_examples 'when called with no parameters' do it { should contain_user('fluentd').with({ 'name' => 'td-agent', @@ -19,4 +10,27 @@ describe 'fluentd::user', :type => :class do }) } end + + context 'when osfamily is Debian' do + let(:facts) { + { + :osfamily => 'Debian', + :lsbdistid => 'Ubuntu', + :operatingsystem => 'Ubuntu', + :lsbdistcodename => 'precise', + } + } + + include_examples 'when called with no parameters' + end + + context 'when osfamily is RedHat' do + let(:facts) { + { + :osfamily => 'RedHat', + } + } + + include_examples 'when called with no parameters' + end end