X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Ffunctions%2Fprivate_spec.rb;h=cfd78c4e8a624739ffb2b123a1ee5292f6bdd8ea;hb=d53c789b368b6d3dbc41671fd7a1f16050172627;hp=c90282ed70e9fbfd9ec4babeacaf77516c21f874;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/functions/private_spec.rb b/3rdparty/modules/stdlib/spec/functions/private_spec.rb index c90282ed7..cfd78c4e8 100644 --- a/3rdparty/modules/stdlib/spec/functions/private_spec.rb +++ b/3rdparty/modules/stdlib/spec/functions/private_spec.rb @@ -1,60 +1,52 @@ -#! /usr/bin/env ruby -S rspec require 'spec_helper' -describe Puppet::Parser::Functions.function(:private) do - let(:scope) { PuppetlabsSpec::PuppetInternals.scope } - - subject do - function_name = Puppet::Parser::Functions.function(:private) - scope.method(function_name) - end - - it 'should issue a warning' do - scope.expects(:warning).with("private() DEPRECATED: This function will cease to function on Puppet 4; please use assert_private() before upgrading to puppet 4 for backwards-compatibility, or migrate to the new parser's typing system.") - subject.call [] +describe 'private' do + it 'issues a warning' do + expect(scope).to receive(:warning).with("private() DEPRECATED: This function will cease to function on Puppet 4; please use assert_private() before upgrading to puppet 4 for backwards-compatibility, or migrate to the new parser's typing system.") # rubocop:disable Metrics/LineLength : unable to cut line to required length + begin + subject.execute + rescue # rubocop:disable Lint/HandleExceptions + # ignore this + end 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') + 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') expect { - subject.call [] + subject.execute }.not_to raise_error 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') + context 'with an explicit failure message' do + it 'prints the failure message on error' 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 { - subject.call ['failure message!'] - }.to raise_error Puppet::ParseError, /failure message!/ + subject.execute('failure message!') + }.to raise_error(Puppet::ParseError, %r{failure message!}) 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/ + 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') + expect { subject.execute }.to raise_error(Puppet::ParseError, %r{Class foo::baz is private}) 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') + expect { subject.execute }.to raise_error(Puppet::ParseError, %r{Definition foo::baz is private}) end end end