summaryrefslogtreecommitdiffstats
path: root/test/network/client
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-05-15 00:11:01 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-05-15 00:11:01 +0000
commit28f7d6c7ebd56da3014464c82c73a4f98f3406ea (patch)
tree0fed5116baef8f988eb88617df2fc1a6e20c97e0 /test/network/client
parentd9f6f418639fb50297a9a0b5415ea57b5f2f303e (diff)
downloadpuppet-28f7d6c7ebd56da3014464c82c73a4f98f3406ea.tar.gz
puppet-28f7d6c7ebd56da3014464c82c73a4f98f3406ea.tar.xz
puppet-28f7d6c7ebd56da3014464c82c73a4f98f3406ea.zip
Fixing #569 - I have added a dynamic facts option to choose which facts will be ignored.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2516 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test/network/client')
-rwxr-xr-xtest/network/client/master.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/network/client/master.rb b/test/network/client/master.rb
index ffdb8a0ce..1e14d9ce2 100755
--- a/test/network/client/master.rb
+++ b/test/network/client/master.rb
@@ -640,6 +640,40 @@ end
assert_equal(100, master.timeout, "Did not get changed integer default value for timeout")
assert_equal(100, master.timeout, "Did not get changed integer default value for timeout on second run")
end
+
+ # #569 -- Make sure we can ignore dynamic facts.
+ def test_dynamic_facts
+ client = mkclient
+
+ assert_equal(%w{memorysize memoryfree swapsize swapfree}, client.class.dynamic_facts,
+ "Did not get correct defaults for dynamic facts")
+
+ # Cache some values for comparison
+ cached = {"one" => "yep", "two" => "nope"}
+ Puppet::Util::Storage.cache(:configuration)[:facts] = cached
+
+ assert(! client.send(:facts_changed?, cached), "Facts incorrectly considered to be changed")
+
+ # Now add some values to the passed result and make sure we get a positive
+ newfacts = cached.dup
+ newfacts["changed"] = "something"
+
+ assert(client.send(:facts_changed?, newfacts), "Did not catch changed fact")
+
+ # Now add a dynamic fact and make sure it's ignored
+ newfacts = cached.dup
+ newfacts["memorysize"] = "something"
+
+ assert(! client.send(:facts_changed?, newfacts), "Dynamic facts resulted in a false positive")
+
+ # And try it with both
+ cached["memorysize"] = "something else"
+ assert(! client.send(:facts_changed?, newfacts), "Dynamic facts resulted in a false positive")
+
+ # And finally, with only in the cache
+ newfacts.delete("memorysize")
+ assert(! client.send(:facts_changed?, newfacts), "Dynamic facts resulted in a false positive")
+ end
end
# $Id$