summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/client/pelement.rb99
-rw-r--r--test/server/pelement.rb4
2 files changed, 101 insertions, 2 deletions
diff --git a/test/client/pelement.rb b/test/client/pelement.rb
new file mode 100644
index 000000000..4d782cf03
--- /dev/null
+++ b/test/client/pelement.rb
@@ -0,0 +1,99 @@
+if __FILE__ == $0
+ $:.unshift '..'
+ $:.unshift '../../lib'
+ $puppetbase = "../.."
+end
+
+require 'puppet'
+require 'puppet/client/pelement'
+require 'puppet/server'
+require 'test/unit'
+require 'puppettest.rb'
+
+# $Id$
+
+class TestPElementClient < Test::Unit::TestCase
+ include ServerTest
+
+ def mkpelementserver
+ handlers = {
+ :CA => {}, # so that certs autogenerate
+ :PElement => {},
+ }
+
+ return mkserver(handlers)
+ end
+
+ def mkclient
+ client = nil
+ assert_nothing_raised {
+ client = Puppet::Client::PElement.new(:Server => "localhost",
+ :Port => @@port)
+ }
+
+ return client
+ end
+
+ def test_pelements
+ file = tempfile()
+ text = "yayness\n"
+ File.open(file, "w") { |f| f.print text }
+
+ mkpelementserver()
+
+ client = mkclient()
+
+ # Test describing
+ tobj = nil
+ assert_nothing_raised {
+ tobj = client.describe("file", file)
+ }
+
+ assert(tobj, "Did not get response")
+
+ assert_instance_of(Puppet::TransObject, tobj)
+
+ obj = nil
+ assert_nothing_raised {
+ obj = tobj.to_type
+ }
+ assert_events([], obj)
+ File.unlink(file)
+ assert_events([:file_created], obj)
+ File.unlink(file)
+
+ # Now test applying
+ result = nil
+ assert_nothing_raised {
+ result = client.apply(tobj)
+ }
+ assert(FileTest.exists?(file), "File was not created on apply")
+
+ # Lastly, test "list"
+ list = nil
+ assert_nothing_raised {
+ list = client.list("user")
+ }
+
+ assert_instance_of(Puppet::TransBucket, list)
+
+ count = 0
+ list.each do |tobj|
+ break if count > 3
+ assert_instance_of(Puppet::TransObject, tobj)
+
+ tobj2 = nil
+ assert_nothing_raised {
+ tobj2 = client.describe(tobj.type, tobj.name)
+ }
+
+ obj = nil
+ assert_nothing_raised {
+ obj = tobj2.to_type
+ }
+ assert_events([], obj)
+
+ count += 1
+ end
+ end
+end
diff --git a/test/server/pelement.rb b/test/server/pelement.rb
index 182a2db3b..13bd3657f 100644
--- a/test/server/pelement.rb
+++ b/test/server/pelement.rb
@@ -274,7 +274,7 @@ class TestPElementServer < Test::Unit::TestCase
server.local = false
yaml = nil
assert_nothing_raised {
- yaml = CGI.escape(YAML::dump(bucket))
+ yaml = Base64.encode64(YAML::dump(bucket))
}
Puppet::Type.type(:file).clear
@@ -285,7 +285,7 @@ class TestPElementServer < Test::Unit::TestCase
return
end
assert_nothing_raised("Could not reload yaml") {
- YAML::load(CGI.unescape(yaml))
+ YAML::load(Base64.decode64(yaml))
}
assert_nothing_raised {