summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMickaël Canévet <mickael.canevet@camptocamp.com>2015-08-12 15:03:17 +0200
committerMickaël Canévet <mickael.canevet@camptocamp.com>2015-08-12 15:03:17 +0200
commit723382db55e6e3aebf9abdee83573f92f35071f1 (patch)
tree438562ec4ee560d422aae17f2e8763dc56b919c5
parentc401a47f78972143814bceba05f7aa615cfaf9b7 (diff)
Fix unit tests
-rw-r--r--spec/classes/augeas_spec.rb138
-rw-r--r--spec/defines/augeas_lens_spec.rb23
2 files changed, 84 insertions, 77 deletions
diff --git a/spec/classes/augeas_spec.rb b/spec/classes/augeas_spec.rb
index ab4241f..32a390d 100644
--- a/spec/classes/augeas_spec.rb
+++ b/spec/classes/augeas_spec.rb
@@ -5,69 +5,76 @@ describe 'augeas' do
context 'when on an unsupported Operating System' do
let (:facts) do
{
- :osfamily => 'MS-DOS',
+ :osfamily => 'MS-DOS',
+ :puppetversion => Puppet.version,
}
end
it 'should fail' do
- expect { is_expected.to contain_package('ruby-augeas') }.to raise_error(Puppet::Error, /Unsupported OS family/)
+ expect { is_expected.to compile }.to raise_error(/Unsupported OS family/)
end
end
+ lens_dir = Puppet.version < '4.0.0' ? '/usr/share/augeas/lenses' : '/opt/puppetlabs/puppet/share/augeas/lenses'
+
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
- facts
+ facts.merge({
+ :puppetversion => Puppet.version,
+ })
end
context 'without params' do
- case facts[:osfamily]
- when 'Debian'
- it { is_expected.to contain_package('libaugeas0').with(
- :ensure => 'present'
- ) }
- it { is_expected.to contain_package('augeas-tools').with(
- :ensure => 'present'
- ) }
- it { is_expected.to contain_package('augeas-lenses').with(
- :ensure => 'present'
- ) }
- case facts[:lsbdistcodename]
- when 'squeeze', 'lucid', 'precise'
- it { is_expected.to contain_package('ruby-augeas').with(
- :ensure => 'present',
- :name => 'libaugeas-ruby1.8'
+ if Puppet.version < '4.0.0'
+ case facts[:osfamily]
+ when 'Debian'
+ it { is_expected.to contain_package('libaugeas0').with(
+ :ensure => 'present'
+ ) }
+ it { is_expected.to contain_package('augeas-tools').with(
+ :ensure => 'present'
+ ) }
+ it { is_expected.to contain_package('augeas-lenses').with(
+ :ensure => 'present'
+ ) }
+ case facts[:lsbdistcodename]
+ when 'squeeze', 'lucid', 'precise'
+ it { is_expected.to contain_package('ruby-augeas').with(
+ :ensure => 'present',
+ :name => 'libaugeas-ruby1.8'
+ ) }
+ else
+ it { is_expected.to contain_package('ruby-augeas').with(
+ :ensure => 'present',
+ :name => 'libaugeas-ruby1.9.1'
+ ) }
+ end
+ when 'RedHat'
+ it { is_expected.to contain_package('augeas').with(
+ :ensure => 'present'
+ ) }
+ it { is_expected.to contain_package('augeas-libs').with(
+ :ensure => 'present'
) }
- else
it { is_expected.to contain_package('ruby-augeas').with(
:ensure => 'present',
- :name => 'libaugeas-ruby1.9.1'
+ :name => 'ruby-augeas'
) }
end
- when 'RedHat'
- it { is_expected.to contain_package('augeas').with(
- :ensure => 'present'
- ) }
- it { is_expected.to contain_package('augeas-libs').with(
- :ensure => 'present'
- ) }
- it { is_expected.to contain_package('ruby-augeas').with(
- :ensure => 'present',
- :name => 'ruby-augeas'
- ) }
end
- it { is_expected.to contain_file('/usr/share/augeas/lenses').with(
+ it { is_expected.to contain_file(lens_dir).with(
:ensure => 'directory',
:purge => 'true',
:force => 'true',
:recurse => 'true',
:recurselimit => 1
) }
- it { is_expected.to contain_file('/usr/share/augeas/lenses/dist').with(
+ it { is_expected.to contain_file("#{lens_dir}/dist").with(
:ensure => 'directory',
:purge => 'false'
) }
- it { is_expected.to contain_file('/usr/share/augeas/lenses/tests').with(
+ it { is_expected.to contain_file("#{lens_dir}/tests").with(
:ensure => 'directory',
:purge => 'true',
:force => 'true'
@@ -82,42 +89,43 @@ describe 'augeas' do
}
end
- case facts[:osfamily]
- when 'Debian'
- it { is_expected.to contain_package('libaugeas0').with(
- :ensure => '1.2.3'
- ) }
- it { is_expected.to contain_package('augeas-tools').with(
- :ensure => '1.2.3'
- ) }
- it { is_expected.to contain_package('augeas-lenses').with(
- :ensure => '1.2.3'
- ) }
- case facts[:lsbdistcodename]
- when 'squeeze', 'lucid', 'precise'
- it { is_expected.to contain_package('ruby-augeas').with(
- :ensure => '3.2.1',
- :name => 'libaugeas-ruby1.8'
+ if Puppet.version < '4.0.0'
+ case facts[:osfamily]
+ when 'Debian'
+ it { is_expected.to contain_package('libaugeas0').with(
+ :ensure => '1.2.3'
+ ) }
+ it { is_expected.to contain_package('augeas-tools').with(
+ :ensure => '1.2.3'
+ ) }
+ it { is_expected.to contain_package('augeas-lenses').with(
+ :ensure => '1.2.3'
+ ) }
+ case facts[:lsbdistcodename]
+ when 'squeeze', 'lucid', 'precise'
+ it { is_expected.to contain_package('ruby-augeas').with(
+ :ensure => '3.2.1',
+ :name => 'libaugeas-ruby1.8'
+ ) }
+ else
+ it { is_expected.to contain_package('ruby-augeas').with(
+ :ensure => '3.2.1',
+ :name => 'libaugeas-ruby1.9.1'
+ ) }
+ end
+ when 'RedHat'
+ it { is_expected.to contain_package('augeas').with(
+ :ensure => '1.2.3'
+ ) }
+ it { is_expected.to contain_package('augeas-libs').with(
+ :ensure => '1.2.3'
) }
- else
it { is_expected.to contain_package('ruby-augeas').with(
:ensure => '3.2.1',
- :name => 'libaugeas-ruby1.9.1'
+ :name => 'ruby-augeas'
) }
end
- when 'RedHat'
- it { is_expected.to contain_package('augeas').with(
- :ensure => '1.2.3'
- ) }
- it { is_expected.to contain_package('augeas-libs').with(
- :ensure => '1.2.3'
- ) }
- it { is_expected.to contain_package('ruby-augeas').with(
- :ensure => '3.2.1',
- :name => 'ruby-augeas'
- ) }
end
-
end
context 'with a non standard lens_dir' do
diff --git a/spec/defines/augeas_lens_spec.rb b/spec/defines/augeas_lens_spec.rb
index 21dfd55..f4e5be7 100644
--- a/spec/defines/augeas_lens_spec.rb
+++ b/spec/defines/augeas_lens_spec.rb
@@ -11,12 +11,12 @@ describe 'augeas::lens' do
end
it 'should error' do
- expect {
- is_expected.to contain_file('/usr/share/augeas/lenses/foo.aug')
- }.to raise_error(Puppet::Error, /You must declare the augeas class/)
+ expect { is_expected.to compile }.to raise_error(/You must declare the augeas class/)
end
end
+ lens_dir = Puppet.version < '4.0.0' ? '/usr/share/augeas/lenses' : '/opt/puppetlabs/puppet/share/augeas/lenses'
+
context 'when declaring augeas class first' do
on_supported_os.each do |os, facts|
@@ -24,6 +24,7 @@ describe 'augeas::lens' do
let(:facts) do
facts.merge({
:augeasversion => :undef,
+ :puppetversion => Puppet.version,
})
end
@@ -35,9 +36,7 @@ describe 'augeas::lens' do
context 'when no lens_source is passed' do
it 'should error' do
- expect {
- is_expected.to contain_file('/usr/share/augeas/lenses/foo.aug')
- }.to raise_error(Puppet::Error, /You must set either \$lens_source or \$lens_content/)
+ expect { is_expected.to compile }.to raise_error(/You must set either \$lens_source or \$lens_content/)
end
end
@@ -48,9 +47,9 @@ describe 'augeas::lens' do
}
end
- it { is_expected.to contain_file('/usr/share/augeas/lenses/foo.aug') }
+ it { is_expected.to contain_file("#{lens_dir}/foo.aug") }
it { is_expected.to contain_exec('Typecheck lens foo') }
- it { is_expected.not_to contain_file('/usr/share/augeas/lenses/tests/test_foo.aug') }
+ it { is_expected.not_to contain_file("#{lens_dir}/tests/test_foo.aug") }
it { is_expected.not_to contain_exec('Test lens foo') }
end
@@ -62,9 +61,9 @@ describe 'augeas::lens' do
}
end
- it { is_expected.to contain_file('/usr/share/augeas/lenses/foo.aug') }
+ it { is_expected.to contain_file("#{lens_dir}/foo.aug") }
+ it { is_expected.to contain_file("#{lens_dir}/tests/test_foo.aug") }
it { is_expected.to contain_exec('Typecheck lens foo') }
- it { is_expected.to contain_file('/usr/share/augeas/lenses/tests/test_foo.aug') }
it { is_expected.to contain_exec('Test lens foo') }
end
end
@@ -81,7 +80,7 @@ describe 'augeas::lens' do
"class { '::augeas': version => '1.0.0' }"
end
- it { is_expected.to contain_file('/usr/share/augeas/lenses/foo.aug') }
+ it { is_expected.to contain_file("#{lens_dir}/foo.aug") }
it { is_expected.to contain_exec('Typecheck lens foo') }
end
@@ -99,7 +98,7 @@ describe 'augeas::lens' do
it do
pending "undefined method `negative_failure_message'"
- is_expected.not_to contain_file('/usr/share/augeas/lenses/foo.aug')
+ is_expected.not_to contain_file("#{lens_dir}/foo.aug")
end
it do
pending "undefined method `negative_failure_message'"