~ubuntu-branches/ubuntu/lucid/puppet/lucid-security

« back to all changes in this revision

Viewing changes to spec/integration/indirector/catalog/compiler.rb

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2009-12-23 00:48:10 UTC
  • mfrom: (1.1.10 upstream) (3.1.7 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091223004810-3i4oryds922g5n59
Tags: 0.25.1-3ubuntu1
* Merge from debian testing.  Remaining changes:
  - debian/rules:
    + Don't start puppet when first installing puppet.
  - debian/puppet.conf, lib/puppet/defaults.rb:
    + Move templates to /etc/puppet
  - lib/puppet/defaults.rb:
    + Fix /var/lib/puppet/state ownership.
  - man/man8/puppet.conf.8: 
    + Fix broken URL in manpage.
  - debian/control:
    + Update maintainer accordint to spec.
    + Puppetmaster Recommends -> Suggests
    + Created puppet-testsuite as a seperate. Allow the users to run puppet's 
      testsuite.
  - tests/Rakefile: Fix rakefile so that the testsuite can acutally be ran.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env ruby
 
2
 
 
3
Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
 
4
 
 
5
require 'puppet/resource/catalog'
 
6
 
 
7
Puppet::Resource::Catalog.indirection.terminus(:compiler)
 
8
 
 
9
describe Puppet::Resource::Catalog::Compiler do
 
10
    before do
 
11
        @catalog = Puppet::Resource::Catalog.new
 
12
 
 
13
        @one = Puppet::Resource.new(:file, "/one")
 
14
 
 
15
        @two = Puppet::Resource.new(:file, "/two")
 
16
        @catalog.add_resource(@one, @two)
 
17
    end
 
18
 
 
19
    after { Puppet.settings.clear }
 
20
 
 
21
    it "should remove virtual resources when filtering" do
 
22
        @one.virtual = true
 
23
        Puppet::Resource::Catalog.indirection.terminus.filter(@catalog).resources.should == [ @two.ref ]
 
24
    end
 
25
 
 
26
    it "should not remove exported resources when filtering" do
 
27
        @one.exported = true
 
28
        Puppet::Resource::Catalog.indirection.terminus.filter(@catalog).resources.sort.should == [ @one.ref, @two.ref ]
 
29
    end
 
30
 
 
31
    it "should remove virtual exported resources when filtering" do
 
32
        @one.exported = true
 
33
        @one.virtual = true
 
34
        Puppet::Resource::Catalog.indirection.terminus.filter(@catalog).resources.should == [ @two.ref ]
 
35
    end
 
36
 
 
37
    it "should filter out virtual resources when finding a catalog" do
 
38
        @one.virtual = true
 
39
        request = stub 'request', :name => "mynode"
 
40
        Puppet::Resource::Catalog.indirection.terminus.stubs(:extract_facts_from_request)
 
41
        Puppet::Resource::Catalog.indirection.terminus.stubs(:node_from_request)
 
42
        Puppet::Resource::Catalog.indirection.terminus.stubs(:compile).returns(@catalog)
 
43
 
 
44
        Puppet::Resource::Catalog.find(request).resources.should == [ @two.ref ]
 
45
    end
 
46
 
 
47
    it "should not filter out exported resources when finding a catalog" do
 
48
        @one.exported = true
 
49
        request = stub 'request', :name => "mynode"
 
50
        Puppet::Resource::Catalog.indirection.terminus.stubs(:extract_facts_from_request)
 
51
        Puppet::Resource::Catalog.indirection.terminus.stubs(:node_from_request)
 
52
        Puppet::Resource::Catalog.indirection.terminus.stubs(:compile).returns(@catalog)
 
53
 
 
54
        Puppet::Resource::Catalog.find(request).resources.sort.should == [ @one.ref, @two.ref ]
 
55
    end
 
56
 
 
57
    it "should filter out virtual exported resources when finding a catalog" do
 
58
        @one.exported = true
 
59
        @one.virtual = true
 
60
        request = stub 'request', :name => "mynode"
 
61
        Puppet::Resource::Catalog.indirection.terminus.stubs(:extract_facts_from_request)
 
62
        Puppet::Resource::Catalog.indirection.terminus.stubs(:node_from_request)
 
63
        Puppet::Resource::Catalog.indirection.terminus.stubs(:compile).returns(@catalog)
 
64
 
 
65
        Puppet::Resource::Catalog.find(request).resources.should == [ @two.ref ]
 
66
    end
 
67
end