puppetlabs-stdlib/spec/functions/ensure_packages_spec.rb
David Schmitt f3e79ddcd5 Convert tests to use plain rspec-puppet
Tests in the new style produces the following documentation output:

abs
  should not eq nil
  should run abs() and raise an Puppet::ParseError
  should run abs(-34) and return 34
  should run abs("-34") and return 34
  should run abs(34) and return 34
  should run abs("34") and return 34
2015-06-01 18:02:22 +01:00

36 lines
1.6 KiB
Ruby
Executable file

require 'spec_helper'
describe 'ensure_packages' do
it { is_expected.not_to eq(nil) }
it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError) }
it {
pending("should not accept numbers as arguments")
is_expected.to run.with_params(1).and_raise_error(Puppet::ParseError)
}
it {
pending("should not accept numbers as arguments")
is_expected.to run.with_params(["packagename", 1]).and_raise_error(Puppet::ParseError)
}
it { is_expected.to run.with_params("packagename") }
it { is_expected.to run.with_params(["packagename1", "packagename2"]) }
context 'given a catalog with "package { puppet: ensure => absent }"' do
let(:pre_condition) { 'package { puppet: ensure => absent }' }
describe 'after running ensure_package("facter")' do
before { subject.call(['facter']) }
# this lambda is required due to strangeness within rspec-puppet's expectation handling
it { expect(lambda { catalogue }).to contain_package('puppet').with_ensure('absent') }
it { expect(lambda { catalogue }).to contain_package('facter').with_ensure('present') }
end
describe 'after running ensure_package("facter", { "provider" => "gem" })' do
before { subject.call(['facter', { "provider" => "gem" }]) }
# this lambda is required due to strangeness within rspec-puppet's expectation handling
it { expect(lambda { catalogue }).to contain_package('puppet').with_ensure('absent').without_provider() }
it { expect(lambda { catalogue }).to contain_package('facter').with_ensure('present').with_provider("gem") }
end
end
end