X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Ffunctions%2Fassert_private_spec.rb;h=ee7db0b23684bb1683fa45e22d470d4c1170caa9;hb=d53c789b368b6d3dbc41671fd7a1f16050172627;hp=a009d28dcb09732d99f6459c53d63cb6242372d9;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/functions/assert_private_spec.rb b/3rdparty/modules/stdlib/spec/functions/assert_private_spec.rb old mode 100755 new mode 100644 index a009d28dc..ee7db0b23 --- a/3rdparty/modules/stdlib/spec/functions/assert_private_spec.rb +++ b/3rdparty/modules/stdlib/spec/functions/assert_private_spec.rb @@ -1,55 +1,38 @@ -#! /usr/bin/env ruby -S rspec require 'spec_helper' -describe Puppet::Parser::Functions.function(:assert_private) do - let(:scope) { PuppetlabsSpec::PuppetInternals.scope } +describe 'assert_private' do + context 'when called from inside module' do + it 'does not fail' do + expect(scope).to receive(:lookupvar).with('module_name').and_return('foo') + expect(scope).to receive(:lookupvar).with('caller_module_name').and_return('foo') - subject do - function_name = Puppet::Parser::Functions.function(:assert_private) - scope.method(function_name) - end - - context "when called from inside module" do - it "should not fail" do - scope.expects(:lookupvar).with('module_name').returns('foo') - scope.expects(:lookupvar).with('caller_module_name').returns('foo') - expect { - subject.call [] - }.not_to raise_error + is_expected.to run.with_params end end - context "with an explicit failure message" do - it "prints the failure message on error" do - scope.expects(:lookupvar).with('module_name').returns('foo') - scope.expects(:lookupvar).with('caller_module_name').returns('bar') - expect { - subject.call ['failure message!'] - }.to raise_error Puppet::ParseError, /failure message!/ + context 'when called from private class' do + it 'fails with a class error message' do + expect(scope).to receive(:lookupvar).with('module_name').and_return('foo') + expect(scope).to receive(:lookupvar).with('caller_module_name').and_return('bar') + expect(scope.source).to receive(:name).and_return('foo::baz') + expect(scope.source).to receive(:type).and_return('hostclass') + + is_expected.to run.with_params.and_raise_error(Puppet::ParseError, %r{Class foo::baz is private}) end - end - context "when called from private class" do - it "should fail with a class error message" do - scope.expects(:lookupvar).with('module_name').returns('foo') - scope.expects(:lookupvar).with('caller_module_name').returns('bar') - scope.source.expects(:name).returns('foo::baz') - scope.source.expects(:type).returns('hostclass') - expect { - subject.call [] - }.to raise_error Puppet::ParseError, /Class foo::baz is private/ + it 'fails with an explicit failure message' do + is_expected.to run.with_params('failure message!').and_raise_error(Puppet::ParseError, %r{failure message!}) end end - context "when called from private definition" do - it "should fail with a class error message" do - scope.expects(:lookupvar).with('module_name').returns('foo') - scope.expects(:lookupvar).with('caller_module_name').returns('bar') - scope.source.expects(:name).returns('foo::baz') - scope.source.expects(:type).returns('definition') - expect { - subject.call [] - }.to raise_error Puppet::ParseError, /Definition foo::baz is private/ + context 'when called from private definition' do + it 'fails with a class error message' do + expect(scope).to receive(:lookupvar).with('module_name').and_return('foo') + expect(scope).to receive(:lookupvar).with('caller_module_name').and_return('bar') + expect(scope.source).to receive(:name).and_return('foo::baz') + expect(scope.source).to receive(:type).and_return('definition') + + is_expected.to run.with_params.and_raise_error(Puppet::ParseError, %r{Definition foo::baz is private}) end end end