Sha256: ff104fc671e17194a206795a461144812e99bdb589cecf2240b3f81e48a7a855

Contents?: true

Size: 1.7 KB

Versions: 3

Compression:

Stored size: 1.7 KB

Contents

#!/usr/bin/env ruby
#
#  Created by Luke Kanies on 2007-10-18.
#  Copyright (c) 2007. All rights reserved.

describe "Puppet::Indirector::FileServerTerminus", :shared => true do
    # This only works if the shared behaviour is included before
    # the 'before' block in the including context.
    before do
        Puppet::FileServing::Configuration.clear_cache
        FileTest.stubs(:exists?).with(Puppet[:fileserverconfig]).returns(true)
        FileTest.stubs(:exists?).with("/my/mount/path").returns(true)
        FileTest.stubs(:directory?).with("/my/mount/path").returns(true)
        FileTest.stubs(:readable?).with("/my/mount/path").returns(true)

        # Use a real mount, so the integration is a bit deeper.
        @mount1 = Puppet::FileServing::Configuration::Mount.new("one")
        @mount1.path = "/my/mount/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, "puppetmounts://myhost/one/my/file")
    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 = "/my/mount/path/my/file"
        FileTest.stubs(:exists?).with(path).returns(true)
        FileTest.stubs(:exists?).with("/my/mount/path").returns(true)
        @mount1.expects(:file).with("my/file", :node => nil).returns(path)

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
puppet-0.24.9 spec/shared_behaviours/file_server_terminus.rb
puppet-0.24.7 spec/shared_behaviours/file_server_terminus.rb
puppet-0.24.8 spec/shared_behaviours/file_server_terminus.rb