diff options
-rw-r--r-- | lib/puppet/interface/action.rb | 5 | ||||
-rw-r--r-- | lib/puppet/interface/action_builder.rb | 10 | ||||
-rw-r--r-- | lib/puppet/util/network_device/transport/ssh.rb | 4 | ||||
-rwxr-xr-x | spec/unit/application/indirection_base_spec.rb | 2 | ||||
-rwxr-xr-x | spec/unit/interface/action_builder_spec.rb | 62 | ||||
-rwxr-xr-x | spec/unit/interface/action_spec.rb | 59 | ||||
-rwxr-xr-x | spec/unit/provider/package/pip_spec.rb | 44 |
7 files changed, 29 insertions, 157 deletions
diff --git a/lib/puppet/interface/action.rb b/lib/puppet/interface/action.rb index 114e5341b..622371a4e 100644 --- a/lib/puppet/interface/action.rb +++ b/lib/puppet/interface/action.rb @@ -254,11 +254,6 @@ WRAPPER option end - def inherit_options_from(action) - options = action.options.map { |opt| action.get_option(opt, false) } - options.reject!(&:nil?).uniq.each { |option| add_option(option) } - end - def option?(name) @options_hash.include? name.to_sym end diff --git a/lib/puppet/interface/action_builder.rb b/lib/puppet/interface/action_builder.rb index ba5531f1d..62db8de06 100644 --- a/lib/puppet/interface/action_builder.rb +++ b/lib/puppet/interface/action_builder.rb @@ -31,16 +31,6 @@ class Puppet::Interface::ActionBuilder @action.add_option(option) end - def inherit_options_from(action) - if action.is_a? Symbol - name = action - action = @face.get_action(name) or - raise ArgumentError, "This Face has no action named #{name}!" - end - - @action.inherit_options_from(action) - end - def default(value = true) @action.default = !!value end diff --git a/lib/puppet/util/network_device/transport/ssh.rb b/lib/puppet/util/network_device/transport/ssh.rb index bf0e7193c..3d7976543 100644 --- a/lib/puppet/util/network_device/transport/ssh.rb +++ b/lib/puppet/util/network_device/transport/ssh.rb @@ -2,7 +2,6 @@ require 'puppet/util/network_device' require 'puppet/util/network_device/transport' require 'puppet/util/network_device/transport/base' -require 'net/ssh' # This is an adaptation/simplification of gem net-ssh-telnet, which aims to have # a sane interface to Net::SSH. Credits goes to net-ssh-telnet authors @@ -12,6 +11,9 @@ class Puppet::Util::NetworkDevice::Transport::Ssh < Puppet::Util::NetworkDevice: def initialize super + unless Puppet.features.ssh? + raise 'Connecting with ssh to a network device requires the \'net/ssh\' ruby library' + end end def handles_login? 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 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 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 |