summaryrefslogtreecommitdiff
path: root/trunk/test/xmlrpc/test_cookie.rb
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:13:14 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:13:14 +0000
commitd0233291bc8a5068e52c69c210e5979e5324b5bc (patch)
tree7d9459449c33792c63eeb7baa071e76352e0baab /trunk/test/xmlrpc/test_cookie.rb
parent0dc342de848a642ecce8db697b8fecd83a63e117 (diff)
parent72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff)
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/test/xmlrpc/test_cookie.rb')
-rw-r--r--trunk/test/xmlrpc/test_cookie.rb96
1 files changed, 0 insertions, 96 deletions
diff --git a/trunk/test/xmlrpc/test_cookie.rb b/trunk/test/xmlrpc/test_cookie.rb
deleted file mode 100644
index c1be5c5577..0000000000
--- a/trunk/test/xmlrpc/test_cookie.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-require 'test/unit'
-require 'time'
-require 'webrick'
-require File.join(File.dirname(__FILE__), 'webrick_testing')
-require "xmlrpc/server"
-require 'xmlrpc/client'
-
-class TestCookie < Test::Unit::TestCase
- include WEBrick_Testing
-
- def create_servlet
- s = XMLRPC::WEBrickServlet.new
-
- def s.logged_in_users
- @logged_in_users ||= {}
- end
- def s.request
- @request
- end
- def s.response
- @response
- end
- def s.service(request, response)
- @request = request
- @response = response
- super
- ensure
- @request = nil
- @response = nil
- end
-
- key = Time.now.to_i.to_s
- valid_user = "valid-user"
- s.add_handler("test.login") do |user, password|
- ok = (user == valid_user and password == "secret")
- if ok
- s.logged_in_users[key] = user
- expires = (Time.now + 60 * 60).httpdate
- cookies = s.response.cookies
- cookies << "key=\"#{key}\"; path=\"/RPC2\"; expires=#{expires}"
- cookies << "user=\"#{user}\"; path=\"/RPC2\""
- end
- ok
- end
-
- s.add_handler("test.require_authenticate_echo") do |string|
- cookies = {}
- s.request.cookies.each do |cookie|
- cookies[cookie.name] = cookie.value
- end
- if cookies == {"key" => key, "user" => valid_user}
- string
- else
- raise XMLRPC::FaultException.new(29, "Authentication required")
- end
- end
-
- s.set_default_handler do |name, *args|
- raise XMLRPC::FaultException.new(-99, "Method #{name} missing" +
- " or wrong number of parameters!")
- end
-
- s.add_introspection
-
- s
- end
-
- def setup_http_server(port)
- option = {:Port => port}
-
- start_server(option) {|w| w.mount('/RPC2', create_servlet) }
-
- @s = XMLRPC::Client.new3(:port => port)
- end
-
- PORT = 8070
- def test_cookie
- begin
- setup_http_server(PORT)
- do_test
- ensure
- stop_server
- end
- end
-
- def do_test
- assert(!@s.call("test.login", "invalid-user", "invalid-password"))
- exception = assert_raise(XMLRPC::FaultException) do
- @s.call("test.require_authenticate_echo", "Hello")
- end
- assert_equal(29, exception.faultCode)
-
- assert(@s.call("test.login", "valid-user", "secret"))
- assert_equal("Hello", @s.call("test.require_authenticate_echo", "Hello"))
- end
-end