summaryrefslogtreecommitdiffstats
path: root/test/network/client/master.rb
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2007-11-12 22:11:40 -0600
committerLuke Kanies <luke@madstop.com>2007-11-12 22:11:40 -0600
commitfa1924eb04a2d6600349eddf13e1f3e62b45d6ce (patch)
tree978aa0e92812f5854978048162c6e2ab752dad72 /test/network/client/master.rb
parenta535cbbe148802c0afe62cd2d5b29d0768b3a0f0 (diff)
parent72510bfaa65e97f4eaaf246ef8f1c155716967b6 (diff)
downloadpuppet-fa1924eb04a2d6600349eddf13e1f3e62b45d6ce.tar.gz
puppet-fa1924eb04a2d6600349eddf13e1f3e62b45d6ce.tar.xz
puppet-fa1924eb04a2d6600349eddf13e1f3e62b45d6ce.zip
Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet-luke
Diffstat (limited to 'test/network/client/master.rb')
-rwxr-xr-xtest/network/client/master.rb144
1 files changed, 24 insertions, 120 deletions
diff --git a/test/network/client/master.rb b/test/network/client/master.rb
index 4f6956470..7216af936 100755
--- a/test/network/client/master.rb
+++ b/test/network/client/master.rb
@@ -7,38 +7,6 @@ require 'mocha'
class TestMasterClient < Test::Unit::TestCase
include PuppetTest::ServerTest
-
- class FakeTrans
- def initialize
- @counters = Hash.new { |h,k| h[k] = 0 }
- end
- [:evaluate, :report, :cleanup, :addtimes, :tags, :ignoreschedules].each do |m|
- define_method(m.to_s + "=") do |*args|
- @counters[m] += 1
- end
- define_method(m) do |*args|
- @counters[m] += 1
- end
- define_method(m.to_s + "?") do
- @counters[m]
- end
- end
- end
- class FakeComponent
- attr_accessor :trans
- def evaluate
- @trans = FakeTrans.new
- @trans
- end
-
- def finalize
- @finalized = true
- end
-
- def finalized?
- @finalized
- end
- end
def setup
super
@@ -67,66 +35,6 @@ class TestMasterClient < Test::Unit::TestCase
return client
end
-
- def mk_fake_client
- server = Puppet::Network::Handler.master.new :Code => ""
- master = Puppet::Network::Client.master.new :Master => server, :Local => true
-
- # Now create some objects
- objects = FakeComponent.new
-
- master.send(:instance_variable_set, "@objects", objects)
-
- class << master
- def report(r)
- @reported ||= 0
- @reported += 1
- end
- def reported
- @reported ||= 0
- @reported
- end
- end
- return master, objects
- end
-
- def test_getconfig
- client = mkclient
-
- $methodsrun = []
- cleanup { $methodsrun = nil }
- client.meta_def(:getplugins) do
- $methodsrun << :getplugins
- end
- client.meta_def(:get_actual_config) do
- $methodsrun << :get_actual_config
- result = Puppet::TransBucket.new()
- result.type = "testing"
- result.name = "yayness"
- result
- end
-
- assert_nothing_raised do
- client.getconfig
- end
- [:get_actual_config].each do |method|
- assert($methodsrun.include?(method), "method %s was not run" % method)
- end
- assert(! $methodsrun.include?(:getplugins), "plugins were synced even tho disabled")
-
- # Now set pluginsync
- Puppet[:pluginsync] = true
- $methodsrun.clear
-
- assert_nothing_raised do
- client.getconfig
- end
- [:getplugins, :get_actual_config].each do |method|
- assert($methodsrun.include?(method), "method %s was not run" % method)
- end
-
- assert_instance_of(Puppet::Node::Configuration, client.configuration, "Configuration was not created")
- end
def test_disable
FileUtils.mkdir_p(Puppet[:statedir])
@@ -136,27 +44,22 @@ class TestMasterClient < Test::Unit::TestCase
client = mkclient(master)
- assert(! FileTest.exists?(@createdfile))
-
- assert_nothing_raised {
+ assert_nothing_raised("Could not disable client") {
client.disable
}
- assert_nothing_raised {
- client.run
- }
+ client.expects(:getconfig).never
- assert(! FileTest.exists?(@createdfile), "Disabled client ran")
+ client.run
- assert_nothing_raised {
- client.enable
- }
+ client = mkclient(master)
- assert_nothing_raised {
- client.run
- }
+ client.expects(:getconfig)
- assert(FileTest.exists?(@createdfile), "Enabled client did not run")
+ assert_nothing_raised("Could not enable client") {
+ client.enable
+ }
+ client.run
end
# Make sure we're getting the client version in our list of facts
@@ -652,15 +555,16 @@ end
client = mkclient
ftype = Puppet::Type.type(:file)
+ file = ftype.create :title => "/what/ever", :ensure => :present
+ config = Puppet::Node::Configuration.new
+ config.add_resource(file)
- assert_nil(ftype[@createdfile], "file object already exists")
- assert(! FileTest.exists?(@createdfile), "File already exists on disk")
+ config.expects :apply
- assert_nothing_raised("Could not apply config") do
- client.run
- end
+ client.configuration = config
+ client.expects(:getconfig)
+ client.run
- assert(FileTest.exists?(@createdfile), "File does not exist on disk")
assert_nil(ftype[@createdfile], "file object was not removed from memory")
end
@@ -675,20 +579,20 @@ end
end
end
- # #800 -- we cannot fix this using the current design.
- def disabled_test_invalid_relationships_do_not_get_cached
- # Make a master with an invalid relationship
+ def test_invalid_configurations_do_not_get_cached
master = mkmaster :Code => "notify { one: require => File[yaytest] }"
master.local = false # so it gets cached
client = mkclient(master)
+ client.stubs(:facts).returns({})
client.local = false
- client.getconfig
- # Doesn't throw an exception, but definitely fails.
- client.apply
+ Puppet::Node::Facts.indirection.stubs(:terminus_class).returns(:memory)
# Make sure the config is not cached.
- config = Puppet.settings[:localconfig] + ".yaml"
- assert(! File.exists?(config), "Cached an invalid configuration")
+ client.expects(:cache).never
+
+ client.getconfig
+ # Doesn't throw an exception, but definitely fails.
+ client.run
end
end