summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/interface/action.rb5
-rw-r--r--lib/puppet/interface/action_builder.rb10
-rw-r--r--lib/puppet/util/network_device/transport/ssh.rb4
-rwxr-xr-xspec/unit/application/indirection_base_spec.rb2
-rwxr-xr-xspec/unit/interface/action_builder_spec.rb62
-rwxr-xr-xspec/unit/interface/action_spec.rb59
-rwxr-xr-xspec/unit/provider/package/pip_spec.rb44
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