Merge branch 'tickets/0.24.x/1221' of git://github.com/lak/puppet into 0.24.x

Conflicts:

	CHANGELOG
This commit is contained in:
James Turnbull 2008-06-17 19:32:50 +10:00
Родитель d6943cd615 4d9536418d
Коммит 0f501e327d
3 изменённых файлов: 16 добавлений и 4 удалений

Просмотреть файл

@ -2,6 +2,8 @@
Fixed #1367 - Updated Rakefile for new daily builds
Fixed #1370 - removed test/util/loadedfile.rb tests
Fixed #1221 - aliases to titles now work for resources.
Fixed #1360 - allowdupe works on groups again.

Просмотреть файл

@ -88,8 +88,13 @@ class Puppet::Node::Catalog < Puppet::PGraph
resource.ref =~ /^(.+)\[/
newref = "%s[%s]" % [$1 || resource.class.name, name]
# LAK:NOTE It's important that we directly compare the references,
# because sometimes an alias is created before the resource is
# added to the catalog, so comparing inside the below if block
# isn't sufficient.
return if newref == resource.ref
if existing = @resource_table[newref]
return if existing == resource
raise(ArgumentError, "Cannot alias %s to %s; resource %s already exists" % [resource.ref, name, newref])
end
@resource_table[newref] = resource

Просмотреть файл

@ -345,9 +345,9 @@ end
describe Puppet::Node::Catalog, " when functioning as a resource container" do
before do
@catalog = Puppet::Node::Catalog.new("host")
@one = stub 'resource1', :ref => "Me[one]", :catalog= => nil
@two = stub 'resource2', :ref => "Me[two]", :catalog= => nil
@dupe = stub 'resource3', :ref => "Me[one]", :catalog= => nil
@one = stub 'resource1', :ref => "Me[one]", :catalog= => nil, :title => "one"
@two = stub 'resource2', :ref => "Me[two]", :catalog= => nil, :title => "two"
@dupe = stub 'resource3', :ref => "Me[one]", :catalog= => nil, :title => "one"
end
it "should provide a method to add one or more resources" do
@ -482,6 +482,11 @@ describe Puppet::Node::Catalog, " when functioning as a resource container" do
proc { @catalog.alias @one, "one" }.should_not raise_error
end
it "should not create aliases that point back to the resource" do
@catalog.alias(@one, "one")
@catalog.resource(:me, "one").should be_nil
end
it "should be able to look resources up by their aliases" do
@catalog.add_resource @one
@catalog.alias @one, "two"