diff options
-rw-r--r-- | lib/puppet/network/client/master.rb | 5 | ||||
-rwxr-xr-x | test/network/client/master.rb | 20 |
2 files changed, 25 insertions, 0 deletions
diff --git a/lib/puppet/network/client/master.rb b/lib/puppet/network/client/master.rb index dd8a883bd..b244478c2 100644 --- a/lib/puppet/network/client/master.rb +++ b/lib/puppet/network/client/master.rb @@ -356,6 +356,9 @@ class Puppet::Network::Client::Master < Puppet::Network::Client Puppet.info "Retrieving #{args[:name]}s" + noop = Puppet[:noop] + Puppet[:noop] = false + begin trans = objects.evaluate trans.ignoretags = true @@ -381,6 +384,8 @@ class Puppet::Network::Client::Master < Puppet::Network::Client # Now clean up after ourselves objects.remove files + ensure + Puppet[:noop] = noop end # Retrieve facts from the central server. diff --git a/test/network/client/master.rb b/test/network/client/master.rb index ec6c8d5cf..270c3e08c 100755 --- a/test/network/client/master.rb +++ b/test/network/client/master.rb @@ -39,6 +39,11 @@ class TestMasterClient < Test::Unit::TestCase end end + def setup + super + @master = Puppet::Network::Client.master + end + def mkmaster(file = nil) master = nil @@ -525,6 +530,21 @@ end assert(Puppet::Type.type(:schedule)["hourly"], "Could not retrieve hourly schedule") assert(Puppet::Type.type(:filebucket)["puppet"], "Could not retrieve default bucket") end + + # #540 - make sure downloads aren't affected by noop + def test_download_in_noop + source = tempfile + File.open(source, "w") { |f| f.puts "something" } + dest = tempfile + Puppet[:noop] = true + assert_nothing_raised("Could not download in noop") do + @master.download(:dest => dest, :source => source, :tag => "yay") + end + + assert(FileTest.exists?(dest), "did not download in noop mode") + + assert(Puppet[:noop], "noop got disabled in run") + end end # $Id$ |