Sha256: b8b0564b093402ba6d6c4d5ca70548d4ad12b88e9f772aa0fce3e77926f14dd0

Contents?: true

Size: 1.92 KB

Versions: 340

Compression:

Stored size: 1.92 KB

Contents

require 'spec_helper'

describe Puppet::Resource::Catalog do
  describe "when using the indirector" do
    before do
      # This is so the tests work w/out networking.
      allow(Facter).to receive(:to_hash).and_return({"hostname" => "foo.domain.com"})
      allow(Facter).to receive(:value).and_return("eh")
    end

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

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

      expect(Puppet::FileSystem).to receive(:exist?).with("/my/yaml/file").and_return(false)
      expect(Puppet::Resource::Catalog.indirection.find("me")).to be_nil
    end

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

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

      node = double('node', :add_server_facts => nil, :trusted_data= => nil, :environment => nil)

      expect(Puppet::Node.indirection).to receive(:find).and_return(node)
      expect(compiler).to receive(:compile).with(node, anything).and_return(nil)

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

    it "should pass provided node information directly to the terminus" do
      node = double('node')
      terminus = double('terminus')
      allow(terminus).to receive(:validate)
      expect(terminus).to receive(:find) { |request| expect(request.options[:use_node]).to eq(node) }

      allow(Puppet::Resource::Catalog.indirection).to receive(:terminus).and_return(terminus)

      Puppet::Resource::Catalog.indirection.find("me", :use_node => node)
    end
  end
end

Version data entries

340 entries across 340 versions & 1 rubygems

Version Path
puppet-8.3.0 spec/integration/resource/catalog_spec.rb
puppet-8.3.0-x86-mingw32 spec/integration/resource/catalog_spec.rb
puppet-8.3.0-x64-mingw32 spec/integration/resource/catalog_spec.rb
puppet-8.3.0-universal-darwin spec/integration/resource/catalog_spec.rb
puppet-8.4.0 spec/integration/resource/catalog_spec.rb
puppet-8.4.0-x86-mingw32 spec/integration/resource/catalog_spec.rb
puppet-8.4.0-x64-mingw32 spec/integration/resource/catalog_spec.rb
puppet-8.4.0-universal-darwin spec/integration/resource/catalog_spec.rb
puppet-7.28.0 spec/integration/resource/catalog_spec.rb
puppet-7.28.0-x86-mingw32 spec/integration/resource/catalog_spec.rb
puppet-7.28.0-x64-mingw32 spec/integration/resource/catalog_spec.rb
puppet-7.28.0-universal-darwin spec/integration/resource/catalog_spec.rb
puppet-8.3.1 spec/integration/resource/catalog_spec.rb
puppet-8.3.1-x86-mingw32 spec/integration/resource/catalog_spec.rb
puppet-8.3.1-x64-mingw32 spec/integration/resource/catalog_spec.rb
puppet-8.3.1-universal-darwin spec/integration/resource/catalog_spec.rb
puppet-7.27.0 spec/integration/resource/catalog_spec.rb
puppet-7.27.0-x86-mingw32 spec/integration/resource/catalog_spec.rb
puppet-7.27.0-x64-mingw32 spec/integration/resource/catalog_spec.rb
puppet-7.27.0-universal-darwin spec/integration/resource/catalog_spec.rb