diff options
-rw-r--r-- | test/client/pelement.rb | 99 | ||||
-rw-r--r-- | test/server/pelement.rb | 4 |
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 { |