Update puppetlabs/stdlib module
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / functions / ensure_packages_spec.rb
old mode 100755 (executable)
new mode 100644 (file)
index 190e580..6d1a841
@@ -2,70 +2,71 @@ 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 { is_expected.to run.with_params.and_raise_error(Puppet::ParseError) }
   it {
-    pending("should not accept numbers as arguments")
+    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)
+    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"]) }
+  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
+  context 'when 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']) }
+      before(:each) { subject.execute('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') }
+      it { expect(-> { catalogue }).to contain_package('puppet').with_ensure('absent') }
+      it { expect(-> { catalogue }).to contain_package('facter').with_ensure('present') }
     end
 
     describe 'after running ensure_package("facter", { "provider" => "gem" })' do
-      before { subject.call(['facter', { "provider" => "gem" }]) }
+      before(:each) { subject.execute('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") }
+      it { expect(-> { catalogue }).to contain_package('puppet').with_ensure('absent').without_provider }
+      it { expect(-> { catalogue }).to contain_package('facter').with_ensure('present').with_provider('gem') }
     end
   end
 
-  context 'given an empty packages array' do
+  context 'when given an empty packages array' do
     let(:pre_condition) { 'notify { "hi": } -> Package <| |>; $somearray = ["vim",""]; ensure_packages($somearray)' }
 
     describe 'after running ensure_package(["vim", ""])' do
-      it { expect { catalogue }.to raise_error(Puppet::ParseError, /Empty String provided/) }
+      it { expect { catalogue }.to raise_error(Puppet::ParseError, %r{Empty String provided}) }
     end
   end
 
-  context 'given hash of packages' do
-    before { subject.call([{"foo" => { "provider" => "rpm" }, "bar" => { "provider" => "gem" }}, { "ensure" => "present"}]) }
-    before { subject.call([{"パッケージ" => { "ensure" => "absent"}}]) }
-    before { subject.call([{"ρǻ¢κầģẻ" => { "ensure" => "absent"}}]) }
+  context 'when given hash of packages' do
+    before(:each) do
+      subject.execute({ 'foo' => { 'provider' => 'rpm' }, 'bar' => { 'provider' => 'gem' } }, 'ensure' => 'present')
+      subject.execute('パッケージ' => { 'ensure' => 'absent' })
+      subject.execute('ρǻ¢κầģẻ' => { 'ensure' => 'absent' })
+    end
 
     # this lambda is required due to strangeness within rspec-puppet's expectation handling
-    it { expect(lambda { catalogue }).to contain_package('foo').with({'provider' => 'rpm', 'ensure' => 'present'}) }
-    it { expect(lambda { catalogue }).to contain_package('bar').with({'provider' => 'gem', 'ensure' => 'present'}) }
+    it { expect(-> { catalogue }).to contain_package('foo').with('provider' => 'rpm', 'ensure' => 'present') }
+    it { expect(-> { catalogue }).to contain_package('bar').with('provider' => 'gem', 'ensure' => 'present') }
 
-    context 'should run with UTF8 and double byte characters' do
-    it { expect(lambda { catalogue }).to contain_package('パッケージ').with({'ensure' => 'absent'}) }
-    it { expect(lambda { catalogue }).to contain_package('ρǻ¢κầģẻ').with({'ensure' => 'absent'}) }
+    context 'with UTF8 and double byte characters' do
+      it { expect(-> { catalogue }).to contain_package('パッケージ').with('ensure' => 'absent') }
+      it { expect(-> { catalogue }).to contain_package('ρǻ¢κầģẻ').with('ensure' => 'absent') }
     end
   end
 
-  context 'given a catalog with "package { puppet: ensure => present }"' do
+  context 'when given a catalog with "package { puppet: ensure => present }"' do
     let(:pre_condition) { 'package { puppet: ensure => present }' }
 
     describe 'after running ensure_package("puppet", { "ensure" => "installed" })' do
-      before { subject.call(['puppet', { "ensure" => "installed" }]) }
+      before(:each) { subject.execute('puppet', 'ensure' => 'installed') }
 
       # this lambda is required due to strangeness within rspec-puppet's expectation handling
-      it { expect(lambda { catalogue }).to contain_package('puppet').with_ensure('present') }
+      it { expect(-> { catalogue }).to contain_package('puppet').with_ensure('present') }
     end
   end
-
 end