Sha256: 5259e7bc5591092083339ba6abb0e17ac8f0bafbacf73a07bb99af22f812e94a

Contents?: true

Size: 1.43 KB

Versions: 6

Compression:

Stored size: 1.43 KB

Contents

#! /usr/bin/env ruby
shared_examples_for "Puppet::Indirector::FileServerTerminus" do
  # This only works if the shared behaviour is included before
  # the 'before' block in the including context.
  before do
    Puppet::FileServing::Configuration.instance_variable_set(:@configuration, nil)
    Puppet::FileSystem::File.stubs(:exist?).returns true
    Puppet::FileSystem::File.stubs(:exist?).with(Puppet[:fileserverconfig]).returns(true)

    @path = Tempfile.new("file_server_testing")
    path = @path.path
    @path.close!
    @path = path

    Dir.mkdir(@path)
    File.open(File.join(@path, "myfile"), "w") { |f| f.print "my content" }

    # Use a real mount, so the integration is a bit deeper.
    @mount1 = Puppet::FileServing::Configuration::Mount::File.new("one")
    @mount1.path = @path

    @parser = stub 'parser', :changed? => false
    @parser.stubs(:parse).returns("one" => @mount1)

    Puppet::FileServing::Configuration::Parser.stubs(:new).returns(@parser)

    # Stub out the modules terminus
    @modules = mock 'modules terminus'

    @request = Puppet::Indirector::Request.new(:indirection, :method, "puppet://myhost/one/myfile", nil)
  end

  it "should use the file server configuration to find files" do
    @modules.stubs(:find).returns(nil)
    @terminus.indirection.stubs(:terminus).with(:modules).returns(@modules)

    path = File.join(@path, "myfile")

    @terminus.find(@request).should be_instance_of(@test_class)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
puppet-3.4.3 spec/shared_behaviours/file_server_terminus.rb
puppet-3.4.2 spec/shared_behaviours/file_server_terminus.rb
puppet-3.4.1 spec/shared_behaviours/file_server_terminus.rb
puppet-3.4.0 spec/shared_behaviours/file_server_terminus.rb
puppet-3.4.0.rc2 spec/shared_behaviours/file_server_terminus.rb
puppet-3.4.0.rc1 spec/shared_behaviours/file_server_terminus.rb