diff options
Diffstat (limited to 'test/xmlrpc/test_webrick_server.rb')
-rw-r--r-- | test/xmlrpc/test_webrick_server.rb | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/test/xmlrpc/test_webrick_server.rb b/test/xmlrpc/test_webrick_server.rb index 8a37cdec91..5a9f51be33 100644 --- a/test/xmlrpc/test_webrick_server.rb +++ b/test/xmlrpc/test_webrick_server.rb @@ -3,13 +3,25 @@ require 'webrick' require_relative 'webrick_testing' require "xmlrpc/server" require 'xmlrpc/client' +require 'logger' class Test_Webrick < Test::Unit::TestCase include WEBrick_Testing + @@basic_auth = WEBrick::HTTPAuth::BasicAuth.new( + :Realm => 'auth', + :UserDB => WEBrick::HTTPAuth::Htpasswd.new(File.expand_path('./htpasswd', File.dirname(__FILE__))), + :Logger => Logger.new(File::NULL), + ) + def create_servlet s = XMLRPC::WEBrickServlet.new + def s.service(req, res) + @@basic_auth.authenticate(req, res) + super(req, res) + end + s.add_handler("test.add") do |a,b| a + b end @@ -46,8 +58,6 @@ class Test_Webrick < Test::Unit::TestCase end start_server(option) {|w| w.mount('/RPC2', create_servlet) } - - @s = XMLRPC::Client.new3(:port => port, :use_ssl => use_ssl) end PORT = 8070 @@ -56,13 +66,33 @@ class Test_Webrick < Test::Unit::TestCase [false].each do |use_ssl| begin setup_http_server(PORT, use_ssl) - do_test + @s = XMLRPC::Client.new3(:port => PORT, :use_ssl => use_ssl) + @s.user = 'admin' + @s.password = 'admin' + silent do + do_test + end + @s = XMLRPC::Client.new3(:port => PORT, :use_ssl => use_ssl) + @s.user = '01234567890123456789012345678901234567890123456789012345678901234567890123456789' + @s.password = 'guest' + silent do + do_test + end ensure stop_server end end end + def silent + begin + back, $VERBOSE = $VERBOSE, nil + yield + ensure + $VERBOSE = back + end + end + def do_test # simple call assert_equal 9, @s.call('test.add', 4, 5) |