diff options
| author | Dan Bode <bodepd@gmail.com> | 2011-01-14 18:21:57 -0600 |
|---|---|---|
| committer | Dan Bode <bodepd@gmail.com> | 2011-01-14 18:29:47 -0600 |
| commit | 7b3b56ef7bfd32d7afb47fd71c2d9f606856d2e0 (patch) | |
| tree | af5678e2a126f17c66a4786c1f571e6f30f01381 /spec | |
| parent | 3f9f37984d1ac5f3ddcc83bf2b1facdb6df6dacd (diff) | |
| download | puppet-7b3b56ef7bfd32d7afb47fd71c2d9f606856d2e0.tar.gz puppet-7b3b56ef7bfd32d7afb47fd71c2d9f606856d2e0.tar.xz puppet-7b3b56ef7bfd32d7afb47fd71c2d9f606856d2e0.zip | |
(5977) Puppet::Applications can be loaded from multiple paths.
- previously, Puppet would search $LOAD_PATH and just
load applications in the first $LOAD_PATH to have
the directory puppet/application. Now multiple paths
can contain applications.
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/unit/util/command_line_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/unit/util/command_line_spec.rb b/spec/unit/util/command_line_spec.rb index 7ba965249..a648eb4a1 100644 --- a/spec/unit/util/command_line_spec.rb +++ b/spec/unit/util/command_line_spec.rb @@ -6,6 +6,7 @@ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f require 'puppet/util/command_line' describe Puppet::Util::CommandLine do + include PuppetSpec::Files before do @tty = stub("tty", :tty? => true ) @pipe = stub("pipe", :tty? => false) @@ -105,4 +106,27 @@ describe Puppet::Util::CommandLine do end end end + describe 'when loading commands' do + before do + @core_apps = ["describe", "filebucket", "kick", "queue", "resource", "agent", "cert", "apply", "doc", "master"] + @command_line = Puppet::Util::CommandLine.new("foo", %w{ client --help w hatever.pp }, @tty ) + end + it 'should be able to find all existing commands' do + @core_apps.each do |command| + @command_line.available_subcommands.should include command + end + end + describe 'when multiple paths have applications' do + before do + @dir=tmpdir('command_line_plugin_test') + @appdir="#{@dir}/puppet/application" + FileUtils.mkdir_p(@appdir) + FileUtils.touch("#{@appdir}/foo.rb") + $LOAD_PATH.unshift(@dir) + end + it 'should be able to find commands from both paths' do + @command_line.available_subcommands.should == ['foo'] + @core_apps + end + end + end end |
