Sha256: a9619e88f5303e8efaa49e819abcdae3518c1199fb46826a955a6efaf526e980

Contents?: true

Size: 1.9 KB

Versions: 3

Compression:

Stored size: 1.9 KB

Contents

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

require File.dirname(__FILE__) + '/../../../spec_helper'

require 'puppet/indirector/file_metadata/file'

describe Puppet::Indirector::FileMetadata::File do
    it "should be registered with the file_metadata indirection" do
        Puppet::Indirector::Terminus.terminus_class(:file_metadata, :file).should equal(Puppet::Indirector::FileMetadata::File)
    end

    it "should be a subclass of the DirectFileServer terminus" do
        Puppet::Indirector::FileMetadata::File.superclass.should equal(Puppet::Indirector::DirectFileServer)
    end

    describe "when creating the instance for a single found file" do
        before do
            @metadata = Puppet::Indirector::FileMetadata::File.new
            @uri = "file:///my/local"
            @data = mock 'metadata'
            @data.stubs(:collect_attributes)
            FileTest.expects(:exists?).with("/my/local").returns true

            @request = stub 'request', :key => @uri, :options => {}
        end

        it "should collect its attributes when a file is found" do
            @data.expects(:collect_attributes)

            Puppet::FileServing::Metadata.expects(:new).returns(@data)
            @metadata.find(@request).should == @data
        end
    end

    describe "when searching for multiple files" do
        before do
            @metadata = Puppet::Indirector::FileMetadata::File.new
            @uri = "file:///my/local"

            @request = stub 'request', :key => @uri, :options => {}
        end

        it "should collect the attributes of the instances returned" do
            FileTest.expects(:exists?).with("/my/local").returns true
            @metadata.expects(:path2instances).returns( [mock("one", :collect_attributes => nil), mock("two", :collect_attributes => nil)] )
            @metadata.search(@request)
        end
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
puppet-0.24.9 spec/unit/indirector/file_metadata/file.rb
puppet-0.24.7 spec/unit/indirector/file_metadata/file.rb
puppet-0.24.8 spec/unit/indirector/file_metadata/file.rb