diff options
| author | Luke Kanies <luke@madstop.com> | 2007-11-28 12:57:16 -0600 |
|---|---|---|
| committer | Luke Kanies <luke@madstop.com> | 2007-11-28 12:57:16 -0600 |
| commit | 228204600b1ba40b5c2b2404b52f0a2d42e4b3ce (patch) | |
| tree | 1fbcc0b78c2af1b89923c2b10c722f271e67b0be /spec | |
| parent | c6d1746199c043c833a34393faa10d0a960f201a (diff) | |
| download | puppet-228204600b1ba40b5c2b2404b52f0a2d42e4b3ce.tar.gz puppet-228204600b1ba40b5c2b2404b52f0a2d42e4b3ce.tar.xz puppet-228204600b1ba40b5c2b2404b52f0a2d42e4b3ce.zip | |
Adding a top-level ResourceReference class that everything
else can use to canonize how we refer to resources. Finally.
Diffstat (limited to 'spec')
| -rwxr-xr-x | spec/unit/resource_reference.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/unit/resource_reference.rb b/spec/unit/resource_reference.rb new file mode 100755 index 000000000..dad33866c --- /dev/null +++ b/spec/unit/resource_reference.rb @@ -0,0 +1,43 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../spec_helper' + +require 'puppet/resource_reference' + +describe Puppet::ResourceReference do + it "should have a :title attribute" do + Puppet::ResourceReference.new(:file, "foo").title.should == "foo" + end + + it "should canonize types to capitalized strings" do + Puppet::ResourceReference.new(:file, "foo").type.should == "File" + end + + it "should canonize qualified types so all strings are capitalized" do + Puppet::ResourceReference.new("foo::bar", "foo").type.should == "Foo::Bar" + end +end + +describe Puppet::ResourceReference, "when resolving resources without a configuration" do + it "should be able to resolve builtin resources from their types" do + Puppet::Type.type(:file).expects(:[]).with("myfile").returns(:myfile) + Puppet::ResourceReference.new(:file, "myfile").resolve.should == :myfile + end + + it "should be able to resolve defined resources from Components" do + Puppet::Type.type(:component).expects(:[]).with("Foo::Bar[yay]").returns(:mything) + Puppet::ResourceReference.new("foo::bar", "yay").resolve.should == :mything + end +end + +describe Puppet::ResourceReference, "when resolving resources with a configuration" do + it "should resolve all resources using the configuration" do + config = mock 'configuration' + ref = Puppet::ResourceReference.new("foo::bar", "yay") + ref.configuration = config + + config.expects(:resource).with("Foo::Bar[yay]").returns(:myresource) + + ref.resolve.should == :myresource + end +end |
