3
# Created by Luke Kanies on 2007-10-18.
4
# Copyright (c) 2007. All rights reserved.
6
require File.dirname(__FILE__) + '/../../../spec_helper'
8
require 'puppet/indirector/file_metadata/modules'
10
describe Puppet::Indirector::FileMetadata::Modules do
11
it "should be registered with the file_metadata indirection" do
12
Puppet::Indirector::Terminus.terminus_class(:file_metadata, :modules).should equal(Puppet::Indirector::FileMetadata::Modules)
15
it "should be a subclass of the ModuleFiles terminus" do
16
Puppet::Indirector::FileMetadata::Modules.superclass.should equal(Puppet::Indirector::ModuleFiles)
20
describe Puppet::Indirector::FileMetadata::Modules, " when finding metadata" do
22
@finder = Puppet::Indirector::FileMetadata::Modules.new
23
@finder.stubs(:environment).returns(nil)
24
@module = Puppet::Module.new("mymod", "/path/to")
25
@finder.stubs(:find_module).returns(@module)
27
@request = Puppet::Indirector::Request.new(:metadata, :find, "puppetmounts://hostname/modules/mymod/my/file")
30
it "should return nil if the file is not found" do
31
FileTest.expects(:exists?).with("/path/to/files/my/file").returns false
32
@finder.find(@request).should be_nil
35
it "should retrieve the instance's attributes if the file is found" do
36
FileTest.expects(:exists?).with("/path/to/files/my/file").returns true
37
instance = mock 'metadta'
38
Puppet::FileServing::Metadata.expects(:new).returns instance
39
instance.expects :collect_attributes
40
@finder.find(@request)