Sha256: 26721ebbce96452990ff602e1d61e75dd2426a19af44eeeefcba2070e3b850c2

Contents?: true

Size: 1.85 KB

Versions: 27

Compression:

Stored size: 1.85 KB

Contents

#!/usr/bin/env rspec
require 'spec_helper'

describe Puppet::Resource::Catalog do
  describe "when pson is available", :if => Puppet.features.pson? do
    it "should support pson" do
      Puppet::Resource::Catalog.supported_formats.should be_include(:pson)
    end
  end

  describe "when using the indirector" do
    before do
      # This is so the tests work w/out networking.
      Facter.stubs(:to_hash).returns({"hostname" => "foo.domain.com"})
      Facter.stubs(:value).returns("eh")
    end


    it "should be able to delegate to the :yaml terminus" do
      Puppet::Resource::Catalog.indirection.stubs(:terminus_class).returns :yaml

      # Load now, before we stub the exists? method.
      terminus = Puppet::Resource::Catalog.indirection.terminus(:yaml)
      terminus.expects(:path).with("me").returns "/my/yaml/file"

      FileTest.expects(:exist?).with("/my/yaml/file").returns false
      Puppet::Resource::Catalog.indirection.find("me").should be_nil
    end

    it "should be able to delegate to the :compiler terminus" do
      Puppet::Resource::Catalog.indirection.stubs(:terminus_class).returns :compiler

      # Load now, before we stub the exists? method.
      compiler = Puppet::Resource::Catalog.indirection.terminus(:compiler)

      node = mock 'node'
      node.stub_everything

      Puppet::Node.indirection.expects(:find).returns(node)
      compiler.expects(:compile).with(node).returns nil

      Puppet::Resource::Catalog.indirection.find("me").should be_nil
    end

    it "should pass provided node information directly to the terminus" do
      terminus = mock 'terminus'

      Puppet::Resource::Catalog.indirection.stubs(:terminus).returns terminus

      node = mock 'node'
      terminus.expects(:find).with { |request| request.options[:use_node] == node }
      Puppet::Resource::Catalog.indirection.find("me", :use_node => node)
    end
  end
end

Version data entries

27 entries across 27 versions & 3 rubygems

Version Path
puppet-2.7.20 spec/integration/resource/catalog_spec.rb
puppet-2.7.20.rc1 spec/integration/resource/catalog_spec.rb
librarian-puppet-0.9.4 vendor/gems/ruby/1.8/gems/puppet-2.7.18/spec/integration/resource/catalog_spec.rb
puppet-2.7.19 spec/integration/resource/catalog_spec.rb
supply_drop-0.11.0 examples/vendored-puppet/vendor/puppet-2.7.8/spec/integration/resource/catalog_spec.rb
librarian-puppet-0.9.3 vendor/gems/ruby/1.8/gems/puppet-2.7.18/spec/integration/resource/catalog_spec.rb
supply_drop-0.10.2 examples/vendored-puppet/vendor/puppet-2.7.8/spec/integration/resource/catalog_spec.rb
puppet-2.7.18 spec/integration/resource/catalog_spec.rb
supply_drop-0.10.1 examples/vendored-puppet/vendor/puppet-2.7.8/spec/integration/resource/catalog_spec.rb
supply_drop-0.10.0 examples/vendored-puppet/vendor/puppet-2.7.8/spec/integration/resource/catalog_spec.rb
puppet-2.7.17 spec/integration/resource/catalog_spec.rb
puppet-2.7.16 spec/integration/resource/catalog_spec.rb
puppet-2.7.14 spec/integration/resource/catalog_spec.rb
puppet-2.7.13 spec/integration/resource/catalog_spec.rb
supply_drop-0.9.0 examples/vendored-puppet/vendor/puppet-2.7.8/spec/integration/resource/catalog_spec.rb
supply_drop-0.8.1 examples/vendored-puppet/vendor/puppet-2.7.8/spec/integration/resource/catalog_spec.rb
supply_drop-0.8.0 examples/vendored-puppet/vendor/puppet-2.7.8/spec/integration/resource/catalog_spec.rb
puppet-2.7.12 spec/integration/resource/catalog_spec.rb
puppet-2.7.11 spec/integration/resource/catalog_spec.rb
supply_drop-0.7.0 examples/vendored-puppet/vendor/puppet-2.7.8/spec/integration/resource/catalog_spec.rb