Sha256: f342113029010db234596ef5683566c0a87e2b1a54b6ebbee3bf0da63d8813fc
Contents?: true
Size: 1.98 KB
Versions: 340
Compression:
Stored size: 1.98 KB
Contents
require 'spec_helper' require 'puppet/util/command_line' require 'puppet/application/indirection_base' require 'puppet/indirector/face' ######################################################################## # Stub for testing; the names are critical, sadly. --daniel 2011-03-30 class Puppet::Application::TestIndirection < Puppet::Application::IndirectionBase end ######################################################################## describe Puppet::Application::IndirectionBase do before :all do @face = Puppet::Indirector::Face.define(:test_indirection, '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 @face.instance_variable_set('@version', :current) Puppet::Face.register(@face) end after :all do # Delete the face so that it doesn't interfere with other specs Puppet::Interface::FaceCollection.instance_variable_get(:@faces).delete Puppet::Interface::FaceCollection.underscorize(@face.name) end it "should accept a terminus command line option" do # It would be nice not to have to stub this, but whatever... writing an # entire indirection stack would cause us more grief. --daniel 2011-03-31 terminus = double("test indirection terminus") allow(terminus).to receive(:name).and_return(:test_indirection) allow(terminus).to receive(:terminus_class=) allow(terminus).to receive(:save) allow(terminus).to receive(:reset_terminus_class) expect(Puppet::Indirector::Indirection).to receive(:instance). with(:test_indirection).and_return(terminus) command_line = Puppet::Util::CommandLine.new("puppet", %w{test_indirection --terminus foo save bar}) application = Puppet::Application::TestIndirection.new(command_line) expect { application.run }.to exit_with 0 end end
Version data entries
340 entries across 340 versions & 1 rubygems