summaryrefslogtreecommitdiff
path: root/spec/defines
diff options
context:
space:
mode:
authorMickaël Canévet <mickael.canevet@camptocamp.com>2014-12-22 18:34:19 +0100
committerMickaël Canévet <mickael.canevet@camptocamp.com>2014-12-26 10:54:04 +0100
commit520b5e876c5a31b9f4bf38a3714a125316833dd3 (patch)
treeebf97a2e7a769df3a31a577e32b991c3a4ef04a1 /spec/defines
parent8b375611b7dec7806bb0e519756cd365e75986e0 (diff)
Fix unit tests when using future parser
Diffstat (limited to 'spec/defines')
-rw-r--r--spec/defines/augeas_lens_spec.rb158
1 files changed, 95 insertions, 63 deletions
diff --git a/spec/defines/augeas_lens_spec.rb b/spec/defines/augeas_lens_spec.rb
index 5318d8d..7feeefb 100644
--- a/spec/defines/augeas_lens_spec.rb
+++ b/spec/defines/augeas_lens_spec.rb
@@ -2,79 +2,111 @@ require 'spec_helper'
describe 'augeas::lens' do
let (:title) { 'foo' }
- let (:facts) { {
- :augeas_lens_dir => :undef,
- :augeas_ruby_version => :undef,
- :augeas_version => :undef,
- :osfamily => 'RedHat',
- :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
- } }
- context 'when no lens_source is passed' do
+
+ context 'when not declaring augeas class first' do
+ let (:params) do
+ {
+ :lens_source => '/tmp/foo.aug',
+ }
+ end
+
it 'should error' do
expect {
is_expected.to contain_file('/usr/share/augeas/lenses/foo.aug')
- }.to raise_error(Puppet::Error, /Must pass lens_source/)
+ }.to raise_error(Puppet::Error, /You must declare the augeas class/)
end
end
- context 'when lens_source is passed' do
- let (:params) { {
- :lens_source => '/tmp/foo.aug',
- } }
+ context 'when declaring augeas class first' do
- it { is_expected.to contain_file('/usr/share/augeas/lenses/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_exec('Test lens foo') }
- end
+ on_supported_os.each do |os, facts|
+ context "on #{os}" do
+ let(:facts) do
+ facts.merge({
+ :augeasversion => :undef,
+ })
+ end
- context 'when lens_source and test_source are passed' do
- let (:params) { {
- :lens_source => '/tmp/foo.aug',
- :test_source => '/tmp/test_foo.aug',
- } }
+ context 'With standard augeas version' do
- it { is_expected.to contain_file('/usr/share/augeas/lenses/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
+ let(:pre_condition) do
+ "class { '::augeas': }"
+ end
- context 'when stock_since is passed and augeas is older' do
- let (:params) { {
- :lens_source => '/tmp/foo.aug',
- :stock_since => '1.2.3',
- } }
-
- let (:facts) { {
- :augeas_lens_dir => :undef,
- :augeas_version => :undef,
- :augeasversion => '1.0.0',
- :augeas_ruby_version => :undef,
- :osfamily => 'RedHat',
- :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
- } }
-
- it { is_expected.to contain_file('/usr/share/augeas/lenses/foo.aug') }
- it { is_expected.to contain_exec('Typecheck lens foo') }
- end
+ 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, /Must pass lens_source/)
+ end
+ end
+
+ context 'when lens_source is passed' do
+ let (:params) do
+ {
+ :lens_source => '/tmp/foo.aug',
+ }
+ end
+
+ it { is_expected.to contain_file('/usr/share/augeas/lenses/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_exec('Test lens foo') }
+ end
- context 'when stock_since is passed and augeas is newer' do
- let (:params) { {
- :lens_source => '/tmp/foo.aug',
- :stock_since => '1.2.3',
- } }
-
- let (:facts) { {
- :augeas_lens_dir => :undef,
- :augeas_version => :undef,
- :augeasversion => '1.5.0',
- :augeas_ruby_version => :undef,
- :osfamily => 'RedHat',
- :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
- } }
-
- it { is_expected.not_to contain_file('/usr/share/augeas/lenses/foo.aug') }
- it { is_expected.not_to contain_exec('Typecheck lens foo') }
+ context 'when lens_source and test_source are passed' do
+ let (:params) do
+ {
+ :lens_source => '/tmp/foo.aug',
+ :test_source => '/tmp/test_foo.aug',
+ }
+ end
+
+ it { is_expected.to contain_file('/usr/share/augeas/lenses/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
+
+ context 'when stock_since is passed and augeas is older' do
+ let (:params) do
+ {
+ :lens_source => '/tmp/foo.aug',
+ :stock_since => '1.2.3',
+ }
+ end
+
+ let(:pre_condition) 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_exec('Typecheck lens foo') }
+ end
+
+ context 'when stock_since is passed and augeas is newer' do
+ let (:params) do
+ {
+ :lens_source => '/tmp/foo.aug',
+ :stock_since => '1.2.3',
+ }
+ end
+
+ let(:pre_condition) do
+ "class { '::augeas': version => '1.3.0' }"
+ end
+
+ it do
+ pending "undefined method `negative_failure_message'"
+ is_expected.not_to contain_file('/usr/share/augeas/lenses/foo.aug')
+ end
+ it do
+ pending "undefined method `negative_failure_message'"
+ is_expected.not_to contain_exec('Typecheck lens foo')
+ end
+ end
+ end
+ end
end
end