summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/metatype/container.rb1
-rw-r--r--lib/puppet/metatype/instances.rb36
-rw-r--r--lib/puppet/metatype/metaparams.rb1
-rw-r--r--lib/puppet/metatype/relationships.rb4
-rwxr-xr-xlib/puppet/network/handler/fileserver.rb7
-rw-r--r--lib/puppet/node/catalog.rb2
-rw-r--r--lib/puppet/resource_reference.rb11
-rw-r--r--lib/puppet/type.rb6
-rw-r--r--lib/puppet/type/component.rb4
-rw-r--r--lib/puppet/type/pfile.rb35
-rwxr-xr-xlib/puppet/type/pfilebucket.rb14
-rwxr-xr-xlib/puppet/type/schedule.rb12
-rwxr-xr-xlib/puppet/util/filetype.rb6
-rwxr-xr-xspec/unit/resource_reference.rb12
-rwxr-xr-xtest/language/compile.rb4
-rwxr-xr-xtest/network/client/master.rb18
-rwxr-xr-xtest/network/handler/fileserver.rb4
-rwxr-xr-xtest/other/relationships.rb2
-rwxr-xr-xtest/ral/types/basic.rb7
-rwxr-xr-xtest/ral/types/cron.rb6
-rwxr-xr-xtest/ral/types/exec.rb2
-rwxr-xr-xtest/ral/types/file.rb117
-rwxr-xr-xtest/ral/types/file/target.rb24
-rwxr-xr-xtest/ral/types/filebucket.rb51
-rwxr-xr-xtest/ral/types/filesources.rb31
-rwxr-xr-xtest/ral/types/host.rb3
-rwxr-xr-xtest/ral/types/parameter.rb2
-rwxr-xr-xtest/util/filetype.rb4
28 files changed, 118 insertions, 308 deletions
diff --git a/lib/puppet/metatype/container.rb b/lib/puppet/metatype/container.rb
index 2bbe3f546..dbc8a3dee 100644
--- a/lib/puppet/metatype/container.rb
+++ b/lib/puppet/metatype/container.rb
@@ -36,7 +36,6 @@ class Puppet::Type
obj.remove
end
@parameters.clear
- self.class.delete(self)
@parent = nil
diff --git a/lib/puppet/metatype/instances.rb b/lib/puppet/metatype/instances.rb
index 3f44413f8..9d4fce909 100644
--- a/lib/puppet/metatype/instances.rb
+++ b/lib/puppet/metatype/instances.rb
@@ -8,11 +8,13 @@ class Puppet::Type
# retrieve a named instance of the current type
def self.[](name)
+ raise "Global resource access is deprecated"
@objects[name] || @aliases[name]
end
# add an instance by name to the class list of instances
def self.[]=(name,object)
+ raise "Global resource storage is deprecated"
newobj = nil
if object.is_a?(Puppet::Type)
newobj = object
@@ -126,24 +128,6 @@ class Puppet::Type
# XXX This will have to change when transobjects change to using titles
title = hash.name
- # if the object already exists
- if self.isomorphic? and retobj = self[title]
- # if only one of our objects is implicit, then it's easy to see
- # who wins -- the non-implicit one.
- if retobj.implicit? and ! implicit
- Puppet.notice "Removing implicit %s" % retobj.title
- # Remove all of the objects, but do not remove their subscriptions.
- retobj.remove(false)
-
- # now pass through and create the new object
- elsif implicit
- Puppet.debug "Ignoring implicit %s[%s]" % [self.name, title]
- return nil
- else
- raise Puppet::Error, "%s is already being managed" % retobj.ref
- end
- end
-
# create it anew
# if there's a failure, destroy the object if it got that far, but raise
# the error.
@@ -153,8 +137,6 @@ class Puppet::Type
Puppet.err "Could not create %s: %s" % [title, detail.to_s]
if obj
obj.remove(true)
- elsif obj = self[title]
- obj.remove(true)
end
raise
end
@@ -163,9 +145,6 @@ class Puppet::Type
obj.implicit = true
end
- # Store the object by title
- self[obj.title] = obj
-
return obj
end
@@ -258,10 +237,6 @@ class Puppet::Type
provider_instances = {}
providers_by_source.collect do |provider|
provider.instances.collect do |instance|
- # First try to get the resource if it already exists
- # Skip instances that map to a managed resource with a different provider
- next if resource = self[instance.name] and resource.provider.class != instance.class
-
# We always want to use the "first" provider instance we find, unless the resource
# is already managed and has a different provider set
if other = provider_instances[instance.name]
@@ -271,12 +246,7 @@ class Puppet::Type
end
provider_instances[instance.name] = instance
- if resource
- resource.provider = instance
- resource
- else
- create(:name => instance.name, :provider => instance, :check => :all)
- end
+ create(:name => instance.name, :provider => instance, :check => :all)
end
end.flatten.compact
end
diff --git a/lib/puppet/metatype/metaparams.rb b/lib/puppet/metatype/metaparams.rb
index b35adae66..b0a4cfce5 100644
--- a/lib/puppet/metatype/metaparams.rb
+++ b/lib/puppet/metatype/metaparams.rb
@@ -277,6 +277,7 @@ class Puppet::Type
# to an object...
tname, name = value
reference = Puppet::ResourceReference.new(tname, name)
+ reference.catalog = resource.catalog
# Either of the two retrieval attempts could have returned
# nil.
diff --git a/lib/puppet/metatype/relationships.rb b/lib/puppet/metatype/relationships.rb
index 4fb78ae56..3433c4884 100644
--- a/lib/puppet/metatype/relationships.rb
+++ b/lib/puppet/metatype/relationships.rb
@@ -18,6 +18,8 @@ class Puppet::Type
# Figure out of there are any objects we can automatically add as
# dependencies.
def autorequire
+ raise(Puppet::DevError, "You cannot add relationships without a catalog") unless catalog
+
reqs = []
self.class.eachautorequire { |type, block|
# Ignore any types we can't find, although that would be a bit odd.
@@ -35,7 +37,7 @@ class Puppet::Type
# Support them passing objects directly, to save some effort.
unless dep.is_a? Puppet::Type
# Skip autorequires that we aren't managing
- unless dep = typeobj[dep]
+ unless dep = catalog.resource(type, dep)
next
end
end
diff --git a/lib/puppet/network/handler/fileserver.rb b/lib/puppet/network/handler/fileserver.rb
index e6378bf01..3ee4721f3 100755
--- a/lib/puppet/network/handler/fileserver.rb
+++ b/lib/puppet/network/handler/fileserver.rb
@@ -568,12 +568,14 @@ class Puppet::Network::Handler
@path = nil
end
+ @files = {}
+
super()
end
def fileobj(path, links, client)
obj = nil
- if obj = Puppet.type(:file)[file_path(path, client)]
+ if obj = @files[file_path(path, client)]
# This can only happen in local fileserving, but it's an
# important one. It'd be nice if we didn't just set
# the check params every time, but I'm not sure it's worth
@@ -584,6 +586,7 @@ class Puppet::Network::Handler
:name => file_path(path, client),
:check => CHECKPARAMS
)
+ @files[file_path(path, client)] = obj
end
if links == :manage
@@ -600,7 +603,7 @@ class Puppet::Network::Handler
# Read the contents of the file at the relative path given.
def read_file(relpath, client)
- File.read(file_path(relpath, client))
+ File.read(file_path(relpath, client))
end
# Cache this manufactured map, since if it's used it's likely
diff --git a/lib/puppet/node/catalog.rb b/lib/puppet/node/catalog.rb
index 9601309d8..0dcfbaefc 100644
--- a/lib/puppet/node/catalog.rb
+++ b/lib/puppet/node/catalog.rb
@@ -293,7 +293,7 @@ class Puppet::Node::Catalog < Puppet::PGraph
# And filebuckets
if bucket = Puppet::Type.type(:filebucket).mkdefaultbucket
- add_resource(bucket)
+ add_resource(bucket) unless resource(bucket.ref)
end
end
diff --git a/lib/puppet/resource_reference.rb b/lib/puppet/resource_reference.rb
index 3e92662b2..8af17918a 100644
--- a/lib/puppet/resource_reference.rb
+++ b/lib/puppet/resource_reference.rb
@@ -22,15 +22,8 @@ class Puppet::ResourceReference
# Find our resource.
def resolve
- if catalog
- return catalog.resource(to_s)
- end
- # If it's builtin, then just ask for it directly from the type.
- if t = builtin_type
- t[@title]
- else # Else, look for a component with the full reference as the name.
- Puppet::Type::Component[to_s]
- end
+ return catalog.resource(to_s) if catalog
+ return nil
end
# If the title has square brackets, treat it like a reference and
diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb
index def9e44e4..c7a6f4e40 100644
--- a/lib/puppet/type.rb
+++ b/lib/puppet/type.rb
@@ -231,14 +231,14 @@ class Type
end
# If the name and title differ, set up an alias
- if self.name != self.title
- if obj = self.class[self.name]
+ if self.name != self.title and self.catalog
+ if obj = catalog.resource(self.class.name, self.name)
if self.class.isomorphic?
raise Puppet::Error, "%s already exists with name %s" %
[obj.title, self.name]
end
else
- self.class.alias(self.name, self)
+ catalog.alias(self, self.name)
end
end
diff --git a/lib/puppet/type/component.rb b/lib/puppet/type/component.rb
index 356205089..1d1bc9ee8 100644
--- a/lib/puppet/type/component.rb
+++ b/lib/puppet/type/component.rb
@@ -88,8 +88,8 @@ Puppet::Type.newtype(:component) do
@reference = Puppet::ResourceReference.new(:component, @title)
- unless self.class[@reference.to_s]
- self.class.alias(@reference.to_s, self)
+ if catalog and ! catalog.resource[@reference.to_s]
+ catalog.alias(self, @reference.to_s)
end
end
diff --git a/lib/puppet/type/pfile.rb b/lib/puppet/type/pfile.rb
index 7d928d959..c8e63b5ba 100644
--- a/lib/puppet/type/pfile.rb
+++ b/lib/puppet/type/pfile.rb
@@ -76,9 +76,8 @@ module Puppet
munge do |value|
# I don't really know how this is happening.
- if value.is_a?(Array)
- value = value.shift
- end
+ value = value.shift if value.is_a?(Array)
+
case value
when false, "false", :false:
false
@@ -90,7 +89,7 @@ module Puppet
# We can't depend on looking this up right now,
# we have to do it after all of the objects
# have been instantiated.
- if bucketobj = Puppet::Type.type(:filebucket)[value]
+ if resource.catalog and bucketobj = resource.catalog.resource(:filebucket, value)
@resource.bucket = bucketobj.bucket
bucketobj.title
else
@@ -304,30 +303,23 @@ module Puppet
# We have to do some extra finishing, to retrieve our bucket if
# there is one.
def finish
- # Let's cache these values, since there should really only be
- # a couple of these buckets
- @@filebuckets ||= {}
-
# Look up our bucket, if there is one
if bucket = self.bucket
case bucket
when String:
- if obj = @@filebuckets[bucket]
- # This sets the @value on :backup, too
- self.bucket = obj
+ if catalog and obj = catalog.resource(:filebucket, bucket)
+ self.bucket = obj.bucket
elsif bucket == "puppet"
obj = Puppet::Network::Client.client(:Dipper).new(
:Path => Puppet[:clientbucketdir]
)
self.bucket = obj
- @@filebuckets[bucket] = obj
- elsif obj = Puppet::Type.type(:filebucket).bucket(bucket)
- @@filebuckets[bucket] = obj
- self.bucket = obj
else
- self.fail "Could not find filebucket %s" % bucket
+ self.fail "Could not find filebucket '%s'" % bucket
end
when Puppet::Network::Client.client(:Dipper): # things are hunky-dorey
+ when Puppet::Type::Filebucket # things are hunky-dorey
+ self.bucket = bucket.bucket
else
self.fail "Invalid bucket type %s" % bucket.class
end
@@ -432,8 +424,7 @@ module Puppet
end
when "link": return true
else
- self.notice "Cannot backup files of type %s" %
- File.stat(file).ftype
+ self.notice "Cannot backup files of type %s" % File.stat(file).ftype
return false
end
end
@@ -783,13 +774,9 @@ module Puppet
def remove_existing(should)
return unless s = stat(true)
- unless handlebackup
- self.fail "Could not back up; will not replace"
- end
+ self.fail "Could not back up; will not replace" unless handlebackup
- unless should.to_s == "link"
- return if s.ftype.to_s == should.to_s
- end
+ return if s.ftype.to_s == should.to_s unless should.to_s == "link"
case s.ftype
when "directory":
diff --git a/lib/puppet/type/pfilebucket.rb b/lib/puppet/type/pfilebucket.rb
index b268610e9..872bded4e 100755
--- a/lib/puppet/type/pfilebucket.rb
+++ b/lib/puppet/type/pfilebucket.rb
@@ -54,21 +54,9 @@ module Puppet
defaultto { Puppet[:clientbucketdir] }
end
- # get the actual filebucket object
- def self.bucket(name)
- if object = self[name]
- return object.bucket
- else
- return nil
- end
- end
-
# Create a default filebucket.
def self.mkdefaultbucket
- unless default = self["puppet"]
- return self.create(:name => "puppet", :path => Puppet[:clientbucketdir])
- end
- return nil
+ self.create(:name => "puppet", :path => Puppet[:clientbucketdir])
end
def self.instances
diff --git a/lib/puppet/type/schedule.rb b/lib/puppet/type/schedule.rb
index c494c5d94..ecbf7d49a 100755
--- a/lib/puppet/type/schedule.rb
+++ b/lib/puppet/type/schedule.rb
@@ -316,8 +316,6 @@ module Puppet
end
def self.mkdefaultschedules
- return [] if self["puppet"]
-
result = []
Puppet.debug "Creating default schedules"
result << self.create(
@@ -328,12 +326,10 @@ module Puppet
# And then one for every period
@parameters.find { |p| p.name == :period }.values.each { |value|
- unless self[value.to_s]
- result << self.create(
- :name => value.to_s,
- :period => value
- )
- end
+ result << self.create(
+ :name => value.to_s,
+ :period => value
+ )
}
result
diff --git a/lib/puppet/util/filetype.rb b/lib/puppet/util/filetype.rb
index 1c7734cc4..cddfc4689 100755
--- a/lib/puppet/util/filetype.rb
+++ b/lib/puppet/util/filetype.rb
@@ -74,8 +74,10 @@ class Puppet::Util::FileType
# Pick or create a filebucket to use.
def bucket
- filebucket = Puppet::Type.type(:filebucket)
- (filebucket["puppet"] || filebucket.mkdefaultbucket).bucket
+ unless defined?(@bucket)
+ @bucket = Puppet::Type.type(:filebucket).mkdefaultbucket.bucket
+ end
+ @bucket
end
def initialize(path)
diff --git a/spec/unit/resource_reference.rb b/spec/unit/resource_reference.rb
index ef172d80a..e629d0b82 100755
--- a/spec/unit/resource_reference.rb
+++ b/spec/unit/resource_reference.rb
@@ -42,18 +42,6 @@ describe Puppet::ResourceReference do
end
end
-describe Puppet::ResourceReference, "when resolving resources without a catalog" 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 catalog" do
it "should resolve all resources using the catalog" do
config = mock 'catalog'
diff --git a/test/language/compile.rb b/test/language/compile.rb
index 298493c0a..082b37a1c 100755
--- a/test/language/compile.rb
+++ b/test/language/compile.rb
@@ -64,7 +64,7 @@ class TestCompile < Test::Unit::TestCase
end
assert_instance_of(Scope, compile.topscope, "Did not create a topscope")
graph = compile.instance_variable_get("@scope_graph")
- assert_instance_of(GRATR::Digraph, graph, "Did not create scope graph")
+ assert_instance_of(Puppet::SimpleGraph, graph, "Did not create scope graph")
assert(graph.vertex?(compile.topscope), "Did not add top scope as a vertex in the graph")
end
@@ -111,7 +111,7 @@ class TestCompile < Test::Unit::TestCase
compile = mkcompile
graph = compile.instance_variable_get("@scope_graph")
assert_instance_of(Scope, compile.topscope, "Did not create top scope")
- assert_instance_of(GRATR::Digraph, graph, "Did not create graph")
+ assert_instance_of(Puppet::SimpleGraph, graph, "Did not create graph")
assert(graph.vertex?(compile.topscope), "The top scope is not a vertex in the graph")
diff --git a/test/network/client/master.rb b/test/network/client/master.rb
index 696d08bfd..48be3cafa 100755
--- a/test/network/client/master.rb
+++ b/test/network/client/master.rb
@@ -519,24 +519,6 @@ end
assert_equal(facts["environment"], Puppet[:environment], "Did not add environment to client facts")
end
- # This is partially to fix #532, but also to save on memory.
- def test_remove_objects_after_every_run
- client = mkclient
-
- ftype = Puppet::Type.type(:file)
- file = ftype.create :title => "/what/ever", :ensure => :present
- config = Puppet::Node::Catalog.new
- config.add_resource(file)
-
- config.expects :apply
-
- client.catalog = config
- client.expects(:getconfig)
- client.run
-
- assert_nil(ftype[@createdfile], "file object was not removed from memory")
- end
-
# #685
def test_http_failures_do_not_kill_puppetd
client = mkclient
diff --git a/test/network/handler/fileserver.rb b/test/network/handler/fileserver.rb
index 233e705c6..e4b1ac3df 100755
--- a/test/network/handler/fileserver.rb
+++ b/test/network/handler/fileserver.rb
@@ -146,10 +146,6 @@ class TestFileServer < Test::Unit::TestCase
list = server.list(sfile, :ignore, true, false)
}
- assert_nothing_raised {
- file = Puppet.type(:file)[tmpfile]
- }
-
output = "/\tfile"
# verify it got listed as a file
diff --git a/test/other/relationships.rb b/test/other/relationships.rb
index bf83caf4a..dd51e3165 100755
--- a/test/other/relationships.rb
+++ b/test/other/relationships.rb
@@ -166,6 +166,7 @@ class TestRelationships < Test::Unit::TestCase
exec = Puppet::Type.newexec(:title => "myexec", :cwd => path,
:command => "/bin/echo")
+ catalog = mk_catalog(file, exec)
reqs = nil
assert_nothing_raised do
reqs = exec.autorequire
@@ -176,7 +177,6 @@ class TestRelationships < Test::Unit::TestCase
# Now make sure that these relationships are added to the
# relationship graph
- config = mk_catalog(file, exec)
config.apply do |trans|
assert(config.relationship_graph.edge?(file, exec), "autorequire edge was not created")
end
diff --git a/test/ral/types/basic.rb b/test/ral/types/basic.rb
index 7bbadc5bc..daffabf58 100755
--- a/test/ral/types/basic.rb
+++ b/test/ral/types/basic.rb
@@ -68,13 +68,6 @@ class TestBasic < Test::Unit::TestCase
assert_equal("echo", @command.title)
end
- def test_object_retrieval
- [@command, @configfile].each { |obj|
- assert_equal(obj.class[obj.name].object_id, obj.object_id,
- "%s did not match class version" % obj.ref)
- }
- end
-
def test_paths
[@configfile, @command, @component].each { |obj|
assert_nothing_raised {
diff --git a/test/ral/types/cron.rb b/test/ral/types/cron.rb
index 73e941894..644494bcc 100755
--- a/test/ral/types/cron.rb
+++ b/test/ral/types/cron.rb
@@ -153,13 +153,13 @@ class TestCron < Test::Unit::TestCase
def test_makeandretrievecron
%w{storeandretrieve a-name another-name more_naming SomeName}.each do |name|
cron = mkcron(name)
- comp = mk_catalog(name, cron)
- trans = assert_events([:cron_created], comp, name)
+ catalog = mk_catalog(name, cron)
+ trans = assert_events([:cron_created], catalog, name)
cron.provider.class.prefetch
cron = nil
- assert(cron = Puppet.type(:cron)[name], "Could not retrieve named cron")
+ assert(cron = catalog.resource(:cron, name), "Could not retrieve named cron")
assert_instance_of(Puppet.type(:cron), cron)
end
end
diff --git a/test/ral/types/exec.rb b/test/ral/types/exec.rb
index f718f944e..396d27839 100755
--- a/test/ral/types/exec.rb
+++ b/test/ral/types/exec.rb
@@ -242,6 +242,8 @@ class TestExec < Test::Unit::TestCase
:command => "cat %s %s" % [exe, oexe],
:path => ENV["PATH"]
)
+
+ catalog = mk_catalog(file, baseobj, ofile, exec, cat)
rels = nil
assert_nothing_raised do
diff --git a/test/ral/types/file.rb b/test/ral/types/file.rb
index aa2e63a89..1d523aa40 100755
--- a/test/ral/types/file.rb
+++ b/test/ral/types/file.rb
@@ -503,7 +503,7 @@ class TestFile < Test::Unit::TestCase
# Create a test directory
path = tempfile()
dir = @file.create :path => path, :mode => 0755, :recurse => true
- config = mk_catalog(dir)
+ catalog = mk_catalog(dir)
Dir.mkdir(path)
@@ -516,7 +516,7 @@ class TestFile < Test::Unit::TestCase
test = File.join(path, "file")
File.open(test, "w") { |f| f.puts "yay" }
assert_nothing_raised() { ret = dir.localrecurse(true) }
- fileobj = @file[test]
+ fileobj = catalog.resource(:file, test)
assert(fileobj, "child object was not created")
assert_equal([fileobj], ret, "child object was not returned")
@@ -560,7 +560,7 @@ class TestFile < Test::Unit::TestCase
assert_nothing_raised() { ret = dir.localrecurse(true) }
assert_equal([bad], ret.collect { |f| f.title }, "purge failed")
- badobj = @file[bad]
+ badobj = catalog.resource(:file, bad)
assert(badobj, "did not create bad object")
end
@@ -756,43 +756,6 @@ class TestFile < Test::Unit::TestCase
assert(file.insync?(currentvalues))
end
- def test_remove
- basedir = tempfile()
- subdir = File.join(basedir, "this")
- FileUtils.mkdir_p(subdir)
-
- dir = nil
- assert_nothing_raised {
- dir = Puppet.type(:file).create(
- :path => basedir,
- :recurse => true,
- :check => %w{owner mode group}
- )
- }
- mk_catalog dir
-
- assert_nothing_raised {
- dir.eval_generate
- }
-
- obj = nil
- assert_nothing_raised {
- obj = Puppet.type(:file)[subdir]
- }
-
- assert(obj, "Could not retrieve subdir object")
-
- assert_nothing_raised {
- obj.remove(true)
- }
-
- assert_nothing_raised {
- obj = Puppet.type(:file)[subdir]
- }
-
- assert_nil(obj, "Retrieved removed object")
- end
-
def test_path
dir = tempfile()
@@ -812,15 +775,13 @@ class TestFile < Test::Unit::TestCase
:check => %w{mode owner group}
)
}
- mk_catalog dirobj
+ catalog = mk_catalog dirobj
assert_nothing_raised {
dirobj.eval_generate
}
- assert_nothing_raised {
- file = dirobj.class[path]
- }
+ file = catalog.resource(:file, path)
assert(file, "Could not retrieve file object")
@@ -840,6 +801,7 @@ class TestFile < Test::Unit::TestCase
:name => subfile,
:ensure => "file"
)
+ catalog = mk_catalog(baseobj, subobj)
edge = nil
assert_nothing_raised do
edge = subobj.autorequire.shift
@@ -1133,14 +1095,11 @@ class TestFile < Test::Unit::TestCase
File.open(file, "w", 0411) { |f| f.puts "yayness" }
- obj = nil
- assert_nothing_raised {
- obj = Puppet::Type.type(:file).create(
- :path => file, :content => "rahness\n", :backup => ".puppet-bak"
- )
- }
-
- assert_apply(obj)
+ obj = Puppet::Type.type(:file).create(
+ :path => file, :content => "rahness\n", :backup => ".puppet-bak"
+ )
+ catalog = mk_catalog(obj)
+ catalog.apply
backupfile = file + obj[:backup]
@@tmpfiles << backupfile
@@ -1150,16 +1109,16 @@ class TestFile < Test::Unit::TestCase
assert_equal(0411, filemode(backupfile),
"File mode is wrong for backupfile")
- bucket = "bucket"
+ name = "bucket"
bpath = tempfile()
Dir.mkdir(bpath)
- Puppet::Type.type(:filebucket).create(
- :title => bucket, :path => bpath
- )
+ bucket = Puppet::Type.type(:filebucket).create(:title => name, :path => bpath)
+ catalog.add_resource(bucket)
- obj[:backup] = bucket
+ obj[:backup] = name
obj[:content] = "New content"
- assert_apply(obj)
+ catalog.finalize
+ catalog.apply
md5 = "18cc17fa3047fcc691fdf49c0a7f539a"
dir, file, pathfile = Puppet::Network::Handler.filebucket.paths(bpath, md5)
@@ -1371,7 +1330,6 @@ class TestFile < Test::Unit::TestCase
end
assert_equal("/my/file/for/testing", file.title)
- assert_equal(file, Puppet::Type.type(:file)["/my/file/for/testing"])
Puppet::Type.type(:file).clear
end
end
@@ -1390,7 +1348,9 @@ class TestFile < Test::Unit::TestCase
obj = Puppet::Type.newfile :path => link, :ensure => :link,
:target => file, :recurse => false, :backup => "main"
- assert_apply(obj)
+ catalog = mk_catalog(bucket, obj)
+
+ catalog.apply
assert_equal(file, File.readlink(link))
end
@@ -1438,6 +1398,8 @@ class TestFile < Test::Unit::TestCase
obj = Puppet::Type.newfile :path => path, :force => true,
:links => :manage
+ catalog = mk_catalog(obj, bucket)
+
Puppet[:trace] = true
["main", false].each do |backup|
obj[:backup] = backup
@@ -1566,8 +1528,11 @@ class TestFile < Test::Unit::TestCase
)
assert(dipper, "did not receive bucket client")
file = Puppet::Type.newfile :path => dest, :source => source, :recurse => true, :backup => "rtest"
+
+ catalog = mk_catalog(bucket, file)
- assert_apply(file)
+ catalog.apply
+
dfiles.each do |f|
assert(FileTest.exists?(f), "destfile %s was not created" % f)
end
@@ -1577,7 +1542,7 @@ class TestFile < Test::Unit::TestCase
f.puts "boo: %s" % File.basename(sf)
} }
- assert_apply(file)
+ catalog.apply
dfiles.each do |f|
assert_equal("boo: %s\n" % File.basename(f), File.read(f),
"file was not copied correctly")
@@ -1603,6 +1568,9 @@ class TestFile < Test::Unit::TestCase
def test_backup
path = tempfile()
file = Puppet::Type.newfile :path => path, :content => "yay"
+
+ catalog = mk_catalog(file)
+ catalog.finalize # adds the default resources.
[false, :false, "false"].each do |val|
assert_nothing_raised do
@@ -1632,6 +1600,7 @@ class TestFile < Test::Unit::TestCase
# And then an existing bucket
obj = Puppet::Type.type(:filebucket).create :name => "testing"
+ catalog.add_resource(obj)
bucket = obj.bucket
assert_nothing_raised do
@@ -1647,12 +1616,12 @@ class TestFile < Test::Unit::TestCase
file = File.join(dir, "file")
File.open(file, "w") { |f| f.puts "" }
obj = Puppet::Type.newfile :path => dir, :recurse => true, :mode => 0755
- mk_catalog obj
+ catalog = mk_catalog obj
assert_equal("/%s" % obj.ref, obj.path)
list = obj.eval_generate
- fileobj = obj.class[file]
+ fileobj = catalog.resource(:file, file)
assert(fileobj, "did not generate file object")
assert_equal("/%s" % fileobj.ref, fileobj.path, "did not generate correct subfile path")
end
@@ -1667,14 +1636,6 @@ class TestFile < Test::Unit::TestCase
assert(! FileTest.exists?(path), "File was not removed")
end
- # Testing #434
- def test_stripping_extra_slashes_during_lookup
- file = Puppet::Type.newfile(:path => "/one/two")
- %w{/one/two/ /one/two /one//two //one//two//}.each do |path|
- assert(Puppet::Type.type(:file)[path], "could not look up file via path %s" % path)
- end
- end
-
# Testing #438
def test_creating_properties_conflict
file = tempfile()
@@ -1758,20 +1719,20 @@ class TestFile < Test::Unit::TestCase
File.open(file, "w") { |f| f.puts "yay" }
File.chmod(0644, file)
obj = Puppet::Type.newfile(:path => dir, :mode => 0750, :recurse => "2")
- config = mk_catalog(obj)
+ catalog = mk_catalog(obj)
children = nil
assert_nothing_raised("Failure when recursing") do
children = obj.eval_generate
end
- assert(obj.class[subdir], "did not create subdir object")
+ assert(catalog.resource(:file, subdir), "did not create subdir object")
children.each do |c|
assert_nothing_raised("Failure when recursing on %s" % c) do
- c.catalog = config
+ c.catalog = catalog
others = c.eval_generate
end
end
- oobj = obj.class[other]
+ oobj = catalog.resource(:file, other)
assert(oobj, "did not create other object")
assert_nothing_raised do
@@ -1799,12 +1760,12 @@ class TestFile < Test::Unit::TestCase
obj = Puppet::Type.newfile(:path => dir, :ensure => :directory,
:recurse => true)
- config = mk_catalog(obj)
+ catalog = mk_catalog(obj)
children = nil
assert_nothing_raised do
children = obj.eval_generate
end
- fobj = obj.class[file]
+ fobj = catalog.resource(:file, file)
assert(fobj, "did not create file object")
assert(fobj.should(:ensure) != :directory, "ensure was passed to child")
end
diff --git a/test/ral/types/file/target.rb b/test/ral/types/file/target.rb
index 035ea905b..b6c84df99 100755
--- a/test/ral/types/file/target.rb
+++ b/test/ral/types/file/target.rb
@@ -46,7 +46,7 @@ class TestFileTarget < Test::Unit::TestCase
def test_linkrecurse
dest = tempfile()
link = @file.create :path => tempfile(), :recurse => true, :ensure => dest
- mk_catalog link
+ catalog = mk_catalog(link)
ret = nil
@@ -64,7 +64,7 @@ class TestFileTarget < Test::Unit::TestCase
assert_equal(:directory, link.should(:ensure), "ensure was not set to directory")
assert_equal([File.join(link.title, "one")], ret.collect { |f| f.title },
"Did not get linked file")
- oneobj = @file[File.join(link.title, "one")]
+ oneobj = catalog.resource(:file, File.join(link.title, "one"))
assert_equal(one, oneobj.should(:target), "target was not set correctly")
oneobj.remove
@@ -83,7 +83,7 @@ class TestFileTarget < Test::Unit::TestCase
"Did not get links back")
returns.each do |path|
- obj = @file[path]
+ obj = catalog.resource(:file, path)
assert(path, "did not get obj for %s" % path)
sdest = File.join(dest, File.basename(path))
assert_equal(sdest, obj.should(:target),
@@ -100,16 +100,14 @@ class TestFileTarget < Test::Unit::TestCase
system("mkdir -p %s" % subdir)
system("touch %s" % file)
- link = nil
- assert_nothing_raised {
- link = Puppet.type(:file).create(
- :ensure => source,
- :path => path,
- :recurse => true
- )
- }
+ link = Puppet.type(:file).create(
+ :ensure => source,
+ :path => path,
+ :recurse => true
+ )
- assert_apply(link)
+ catalog = mk_catalog(link)
+ catalog.apply
sublink = File.join(path, "subdir")
linkpath = File.join(sublink, "file")
@@ -118,7 +116,7 @@ class TestFileTarget < Test::Unit::TestCase
assert(File.symlink?(linkpath), "path is not a link")
assert_equal(file, File.readlink(linkpath))
- assert_nil(@file[sublink], "objects were not removed")
+ assert_nil(catalog.resource(:file, sublink), "objects were not removed")
assert_equal([], link.evaluate, "Link is not in sync")
end
diff --git a/test/ral/types/filebucket.rb b/test/ral/types/filebucket.rb
index f9706663b..28be67b0c 100755
--- a/test/ral/types/filebucket.rb
+++ b/test/ral/types/filebucket.rb
@@ -65,12 +65,9 @@ class TestFileBucket < Test::Unit::TestCase
def test_simplebucket
name = "yayness"
bucketpath = tempfile()
- mkbucket(name, bucketpath)
+ resource = mkbucket(name, bucketpath)
- bucket = nil
- assert_nothing_raised {
- bucket = Puppet.type(:filebucket).bucket(name)
- }
+ bucket = resource.bucket
assert_instance_of(Puppet::Network::Client.dipper, bucket)
@@ -109,49 +106,5 @@ class TestFileBucket < Test::Unit::TestCase
assert_equal(md5, newmd5)
end
-
- def test_fileswithbuckets
- name = "yayness"
- mkbucket(name, tempfile())
-
- bucket = nil
- assert_nothing_raised {
- bucket = Puppet.type(:filebucket).bucket(name)
- }
-
- file = mktestfile()
- assert_nothing_raised {
- file[:backup] = name
- }
-
- opath = tempfile()
- @@tmpfiles << opath
- File.open(opath, "w") { |f| f.puts "yaytest" }
-
- origmd5 = File.open(file.name) { |f| newmd5 = Digest::MD5.hexdigest(f.read) }
-
- file[:source] = opath
- #assert_nothing_raised {
- # file[:backup] = true
- #}
-
- assert_apply(file)
-
- # so, we've now replaced the file with the opath file
- assert_equal(
- File.open(opath) { |f| newmd5 = Digest::MD5.hexdigest(f.read) },
- File.open(file.name) { |f| newmd5 = Digest::MD5.hexdigest(f.read) }
- )
-
- #File.chmod(0644, file.name)
- assert_nothing_raised {
- bucket.restore(file.name, origmd5)
- }
-
- assert_equal(
- origmd5,
- File.open(file.name) { |f| newmd5 = Digest::MD5.hexdigest(f.read) }
- )
- end
end
diff --git a/test/ral/types/filesources.rb b/test/ral/types/filesources.rb
index 02bf8a5b3..511065c45 100755
--- a/test/ral/types/filesources.rb
+++ b/test/ral/types/filesources.rb
@@ -69,7 +69,7 @@ class TestFileSources < Test::Unit::TestCase
:name => path
)
}
- config = mk_catalog(file)
+ catalog = mk_catalog(file)
child = nil
assert_nothing_raised {
child = file.newchild("childtest", true)
@@ -283,7 +283,7 @@ class TestFileSources < Test::Unit::TestCase
# The sourcerecurse method will only ever get called when we're
# recursing, so we go ahead and set it.
obj = Puppet::Type.newfile :source => source, :path => dest, :recurse => true
- config = mk_catalog(obj)
+ catalog = mk_catalog(obj)
result = nil
sourced = nil
@@ -292,12 +292,12 @@ class TestFileSources < Test::Unit::TestCase
end
assert_equal([destfile], sourced, "Did not get correct list of sourced objects")
- dfileobj = @file[destfile]
+ dfileobj = catalog.resource(:file, destfile)
assert(dfileobj, "Did not create destfile object")
assert_equal([dfileobj], result)
# Clean this up so it can be recreated
- config.remove_resource(dfileobj)
+ catalog.remove_resource(dfileobj)
# Make sure we correctly iterate over the sources
nosource = tempfile()
@@ -308,7 +308,7 @@ class TestFileSources < Test::Unit::TestCase
result, sourced = obj.sourcerecurse(true)
end
assert_equal([destfile], sourced, "Did not get correct list of sourced objects")
- dfileobj = @file[destfile]
+ dfileobj = catalog.resource(:file, destfile)
assert(dfileobj, "Did not create destfile object with a missing source")
assert_equal([dfileobj], result)
dfileobj.remove
@@ -369,18 +369,16 @@ class TestFileSources < Test::Unit::TestCase
tofile = nil
trans = nil
- assert_nothing_raised {
- tofile = Puppet.type(:file).create(
- :path => todir,
- :recurse => true,
- :backup => false,
- :source => fromdir
- )
- }
- assert_apply(tofile)
+ tofile = Puppet.type(:file).create(
+ :path => todir,
+ :recurse => true,
+ :backup => false,
+ :source => fromdir
+ )
+ catalog = mk_catalog(tofile)
+ catalog.apply
assert(FileTest.exists?(todir), "Created dir %s does not exist" % todir)
- Puppet::Type.allclear
end
def run_complex_sources(networked = false)
@@ -422,9 +420,6 @@ class TestFileSources < Test::Unit::TestCase
def test_sources_with_deleted_destfiles
fromdir, todir, one, two = run_complex_sources
assert(FileTest.exists?(todir))
-
- # We shouldn't have a 'two' file object in memory
- assert_nil(@file[two], "object for 'two' is still in memory")
# then delete a file
File.unlink(two)
diff --git a/test/ral/types/host.rb b/test/ral/types/host.rb
index 088f93c1f..19bc6b4bd 100755
--- a/test/ral/types/host.rb
+++ b/test/ral/types/host.rb
@@ -153,12 +153,13 @@ class TestHost < Test::Unit::TestCase
def test_puppetalias
host = mkhost()
+ catalog = mk_catalog(host)
assert_nothing_raised {
host[:alias] = "testing"
}
- same = host.class["testing"]
+ same = catalog.resource(:host, "testing")
assert(same, "Could not retrieve by alias")
end
end
diff --git a/test/ral/types/parameter.rb b/test/ral/types/parameter.rb
index e1b8e00b3..04c4b0ce1 100755
--- a/test/ral/types/parameter.rb
+++ b/test/ral/types/parameter.rb
@@ -131,7 +131,7 @@ class TestParameter < Test::Unit::TestCase
assert_instance_of(param, obj, "alias is an instance of the wrong class")
# Make sure the alias got created
- assert(type["foo"], "Did not retrieve object by its alias")
+ assert(config.resource(type.name, "foo"), "Did not retrieve object by its alias")
# Now try it during initialization
other = nil
diff --git a/test/util/filetype.rb b/test/util/filetype.rb
index 6c7ede07b..24a968552 100755
--- a/test/util/filetype.rb
+++ b/test/util/filetype.rb
@@ -85,7 +85,7 @@ class TestFileType < Test::Unit::TestCase
assert_nothing_raised("Could not call backup with no buckets") do
obj.backup
end
- puppet = type["puppet"]
+ puppet = type.mkdefaultbucket
assert(puppet, "Did not create default filebucket")
assert_equal("one", puppet.bucket.getfile(Digest::MD5.hexdigest(File.read(path))), "Could not get file from backup")
@@ -99,7 +99,7 @@ class TestFileType < Test::Unit::TestCase
assert_equal("two", puppet.bucket.getfile(Digest::MD5.hexdigest(File.read(path))), "Could not get file from backup")
end
- if Facter["operatingsystem"].value == "Darwin"
+ if Facter["operatingsystem"].value == "Darwin" and Facter["operatingsystemrelease"] != "9.1.0"
def test_ninfotoarray
obj = nil
type = nil