From 5db214c486b82ef7cc7960831a44531f3892f3f6 Mon Sep 17 00:00:00 2001 From: Brice Figureau Date: Sat, 7 May 2011 17:45:15 +0200 Subject: Prevent spec failure caused by network device mock leak We were leaking some mocks in the network device singleton from tests to tests. Signed-off-by: Brice Figureau --- spec/unit/util/network_device_spec.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'spec') diff --git a/spec/unit/util/network_device_spec.rb b/spec/unit/util/network_device_spec.rb index 70cb509b4..347986ac6 100644 --- a/spec/unit/util/network_device_spec.rb +++ b/spec/unit/util/network_device_spec.rb @@ -10,6 +10,10 @@ describe Puppet::Util::NetworkDevice do @device = OpenStruct.new(:name => "name", :provider => "test") end + after(:each) do + Puppet::Util::NetworkDevice.clear + end + class Puppet::Util::NetworkDevice::Test class Device def initialize(device) -- cgit From 9377507499f70c11c87615675656dbffed30a0bf Mon Sep 17 00:00:00 2001 From: Matt Robinson Date: Mon, 9 May 2011 22:02:50 -0700 Subject: (#7468) Stub spec that tries to connect to pypi.python.org I noticed a test failure when I ran the specs without an internet connection. Specs should never need an internet connection to pass. Reviewed-by: Max Martin --- spec/unit/provider/package/pip_spec.rb | 44 ++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'spec') diff --git a/spec/unit/provider/package/pip_spec.rb b/spec/unit/provider/package/pip_spec.rb index b56271029..97b3b5e73 100755 --- a/spec/unit/provider/package/pip_spec.rb +++ b/spec/unit/provider/package/pip_spec.rb @@ -6,16 +6,20 @@ provider_class = Puppet::Type.type(:package).provider(:pip) describe provider_class do before do - @resource = Puppet::Resource.new(:package, "sdsfdssdhdfyjymdgfcjdfjxdrssf") + @resource = Puppet::Resource.new(:package, "fake_package") @provider = provider_class.new(@resource) + client = stub_everything('client') + client.stubs(:call).with('package_releases', 'real_package').returns(["1.3", "1.2.5", "1.2.4"]) + client.stubs(:call).with('package_releases', 'fake_package').returns([]) + XMLRPC::Client.stubs(:new2).returns(client) end describe "parse" do it "should return a hash on valid input" do - provider_class.parse("Django==1.2.5").should == { + provider_class.parse("real_package==1.2.5").should == { :ensure => "1.2.5", - :name => "Django", + :name => "real_package", :provider => :pip, } end @@ -31,7 +35,7 @@ describe provider_class do it "should return an array when pip is present" do provider_class.expects(:which).with('pip').returns("/fake/bin/pip") p = stub("process") - p.expects(:collect).yields("Django==1.2.5") + p.expects(:collect).yields("real_package==1.2.5") provider_class.expects(:execpipe).with("/fake/bin/pip freeze").yields(p) provider_class.instances end @@ -46,19 +50,19 @@ describe provider_class do describe "query" do before do - @resource[:name] = "Django" + @resource[:name] = "real_package" end it "should return a hash when pip and the package are present" do provider_class.expects(:instances).returns [provider_class.new({ :ensure => "1.2.5", - :name => "Django", + :name => "real_package", :provider => :pip, })] @provider.query.should == { :ensure => "1.2.5", - :name => "Django", + :name => "real_package", :provider => :pip, } end @@ -72,13 +76,13 @@ describe provider_class do describe "latest" do - it "should find a version number for Django" do - @resource[:name] = "Django" + it "should find a version number for real_package" do + @resource[:name] = "real_package" @provider.latest.should_not == nil end - it "should not find a version number for sdsfdssdhdfyjymdgfcjdfjxdrssf" do - @resource[:name] = "sdsfdssdhdfyjymdgfcjdfjxdrssf" + it "should not find a version number for fake_package" do + @resource[:name] = "fake_package" @provider.latest.should == nil end @@ -87,15 +91,15 @@ describe provider_class do describe "install" do before do - @resource[:name] = "sdsfdssdhdfyjymdgfcjdfjxdrssf" - @url = "git+https://example.com/sdsfdssdhdfyjymdgfcjdfjxdrssf.git" + @resource[:name] = "fake_package" + @url = "git+https://example.com/fake_package.git" end it "should install" do @resource[:ensure] = :installed @resource[:source] = nil @provider.expects(:lazy_pip). - with("install", '-q', "sdsfdssdhdfyjymdgfcjdfjxdrssf") + with("install", '-q', "fake_package") @provider.install end @@ -103,7 +107,7 @@ describe provider_class do @resource[:ensure] = :installed @resource[:source] = @url @provider.expects(:lazy_pip). - with("install", '-q', '-e', "#{@url}#egg=sdsfdssdhdfyjymdgfcjdfjxdrssf") + with("install", '-q', '-e', "#{@url}#egg=fake_package") @provider.install end @@ -111,14 +115,14 @@ describe provider_class do @resource[:ensure] = "0123456" @resource[:source] = @url @provider.expects(:lazy_pip). - with("install", "-q", "-e", "#{@url}@0123456#egg=sdsfdssdhdfyjymdgfcjdfjxdrssf") + with("install", "-q", "-e", "#{@url}@0123456#egg=fake_package") @provider.install end it "should install a particular version" do @resource[:ensure] = "0.0.0" @resource[:source] = nil - @provider.expects(:lazy_pip).with("install", "-q", "sdsfdssdhdfyjymdgfcjdfjxdrssf==0.0.0") + @provider.expects(:lazy_pip).with("install", "-q", "fake_package==0.0.0") @provider.install end @@ -126,7 +130,7 @@ describe provider_class do @resource[:ensure] = :latest @resource[:source] = nil @provider.expects(:lazy_pip). - with("install", "-q", "--upgrade", "sdsfdssdhdfyjymdgfcjdfjxdrssf") + with("install", "-q", "--upgrade", "fake_package") @provider.install end @@ -135,9 +139,9 @@ describe provider_class do describe "uninstall" do it "should uninstall" do - @resource[:name] = "sdsfdssdhdfyjymdgfcjdfjxdrssf" + @resource[:name] = "fake_package" @provider.expects(:lazy_pip). - with('uninstall', '-y', '-q', 'sdsfdssdhdfyjymdgfcjdfjxdrssf') + with('uninstall', '-y', '-q', 'fake_package') @provider.uninstall end -- cgit From 09f5d9cbfcbc6b0428d02fd4b5e9c0cfe550eb19 Mon Sep 17 00:00:00 2001 From: Max Martin Date: Thu, 12 May 2011 15:43:51 -0700 Subject: (#7469) Add license to test face so tests pass The TestIndirection test face defined in indirection_base_spec did not have copyright or license information defined; this was causing order-dependent test failures when unit tests were run before other specs (as in rake spec). This commit adds license and copyright info to the test face to prevent these failures. Paired-with: Daniel Pittman --- spec/unit/application/indirection_base_spec.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'spec') diff --git a/spec/unit/application/indirection_base_spec.rb b/spec/unit/application/indirection_base_spec.rb index 910774c14..d72def6cf 100755 --- a/spec/unit/application/indirection_base_spec.rb +++ b/spec/unit/application/indirection_base_spec.rb @@ -10,6 +10,8 @@ end face = Puppet::Indirector::Face.define(:testindirection, '0.0.1') do summary "fake summary" + copyright "Puppet Labs", 2011 + license "Apache 2 license; see COPYING" end # REVISIT: This horror is required because we don't allow anything to be # :current except for if it lives on, and is loaded from, disk. --daniel 2011-03-29 -- cgit From d63fc34d0c6fdfbe72dafdf5d07a6cc9c6dd388e Mon Sep 17 00:00:00 2001 From: Daniel Pittman Date: Fri, 6 May 2011 12:09:09 -0700 Subject: Revert "(#7220) Add the ability to "inherit" options." This reverts commit 9329a1f33b4d7df81ad8661de74f8a3656428570. Conflicts: spec/unit/interface/action_builder_spec.rb spec/unit/interface/action_spec.rb --- spec/unit/interface/action_builder_spec.rb | 62 ------------------------------ spec/unit/interface/action_spec.rb | 59 ---------------------------- 2 files changed, 121 deletions(-) (limited to 'spec') diff --git a/spec/unit/interface/action_builder_spec.rb b/spec/unit/interface/action_builder_spec.rb index e9f10a1a6..c39860591 100755 --- a/spec/unit/interface/action_builder_spec.rb +++ b/spec/unit/interface/action_builder_spec.rb @@ -62,68 +62,6 @@ describe Puppet::Interface::ActionBuilder do end end - describe "#inherit_options_from" do - let :face do - Puppet::Interface.new(:face_with_some_options, '0.0.1') do - option '-w' - - action(:foo) do - when_invoked do true end - option '-x', '--ex' - option '-y', '--why' - end - - action(:bar) do - when_invoked do true end - option '-z', '--zee' - end - - action(:baz) do - when_invoked do true end - option '-z', '--zed' - end - end - end - - it 'should add the options from the specified action' do - foo = face.get_action(:foo) - action = Puppet::Interface::ActionBuilder.build(face, :inherit_options) do - when_invoked do true end - inherit_options_from foo - end - action.options.should == foo.options - end - - it 'should add the options from multiple actions' do - foo = face.get_action(:foo) - bar = face.get_action(:bar) - action = Puppet::Interface::ActionBuilder.build(face, :inherit_options) do - when_invoked do true end - inherit_options_from foo - inherit_options_from bar - end - action.options.should == (foo.options + bar.options).uniq - end - - it 'should permit symbolic names for actions in the same face' do - foo = face.get_action(:foo) - action = Puppet::Interface::ActionBuilder.build(face, :inherit_options) do - when_invoked do true end - inherit_options_from :foo - end - action.options.should == foo.options - end - - it 'should raise a useful error if you supply a bad action name' do - expect do - Puppet::Interface::ActionBuilder.build(face, :inherit_options) do - when_invoked do true end - inherit_options_from :nowhere - end - end.to raise_error /nowhere/ - end - end - context "inline documentation" do it "should set the summary" do action = Puppet::Interface::ActionBuilder.build(face, :foo) do diff --git a/spec/unit/interface/action_spec.rb b/spec/unit/interface/action_spec.rb index f43968709..9e539c68e 100755 --- a/spec/unit/interface/action_spec.rb +++ b/spec/unit/interface/action_spec.rb @@ -68,65 +68,6 @@ describe Puppet::Interface::Action do end end - describe "#inherit_options_from" do - let :face do - Puppet::Interface.new(:face_with_some_options, '0.0.1') do - option '-w' - - action(:foo) do - when_invoked do true end - option '-x', '--ex' - option '-y', '--why' - end - - action(:bar) do - when_invoked do true end - option '-z', '--zee' - end - - action(:baz) do - when_invoked do true end - option '-z', '--zed' - end - - action(:noopts) do - # no options declared - when_invoked do true end - end - end - end - - subject { action = face.action(:new_action) { when_invoked do true end } } - - it 'should add the options from the specified action' do - subject.inherit_options_from(foo = face.get_action(:foo)) - subject.options.should == foo.options - end - - it 'should not die when the specified action has no options' do - original_options = subject.options - subject.inherit_options_from(face.get_action(:noopts)) - subject.options.should == original_options - end - - it 'should add the options from multiple actions' do - subject.inherit_options_from(foo = face.get_action(:foo)) - subject.inherit_options_from(bar = face.get_action(:bar)) - subject.options.should == (foo.options + bar.options).uniq - end - - it 'should not inherit face options' do - subject.expects(:add_option) - subject.expects(:add_option).with(face.get_option(:w)).never - subject.inherit_options_from(face.get_action(:bar)) - end - - it 'should raise an error if inheritance would duplicate options' do - subject.inherit_options_from(face.get_action(:bar)) - expect { subject.inherit_options_from(face.get_action(:baz)) }.to raise_error - end - end - describe "when invoking" do it "should be able to call other actions on the same object" do face = Puppet::Interface.new(:my_face, '0.0.1') do -- cgit