summaryrefslogtreecommitdiff
path: root/test/open-uri
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-12 11:56:12 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-12 11:56:12 +0000
commitc35f659524131bfd04be93d1cd9e4508f687ec8c (patch)
tree0a424edf41ad790fba4078b147fabc497f5df05f /test/open-uri
parent5ee445bc0c978076946de998e62193ccaa9b29dd (diff)
test CA certs dir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/open-uri')
-rw-r--r--test/open-uri/test_ssl.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/open-uri/test_ssl.rb b/test/open-uri/test_ssl.rb
index 29c794a..0482270 100644
--- a/test/open-uri/test_ssl.rb
+++ b/test/open-uri/test_ssl.rb
@@ -65,6 +65,10 @@ class TestOpenURISSL < Test::Unit::TestCase
with_https {|srv, dr, url|
cacert_filename = "#{dr}/cacert.pem"
open(cacert_filename, "w") {|f| f << CA_CERT }
+ cacert_directory = "#{dr}/certs"
+ Dir.mkdir cacert_directory
+ hashed_name = "%08x.0" % OpenSSL::X509::Certificate.new(CA_CERT).subject.hash
+ open("#{cacert_directory}/#{hashed_name}", "w") {|f| f << CA_CERT }
prxy = WEBrick::HTTPProxyServer.new({
:ServerType => Thread,
:Logger => WEBrick::Log.new(NullLog),
@@ -80,6 +84,13 @@ class TestOpenURISSL < Test::Unit::TestCase
assert_equal("proxy", f.read)
}
assert_match(%r[CONNECT #{url.sub(%r{\Ahttps://}, '')} ], sio.string)
+ sio.truncate(0); sio.rewind
+ open("#{url}/proxy", :proxy=>"http://#{p_host}:#{p_port}/", :ssl_ca_cert => cacert_directory) {|f|
+ assert_equal("200", f.status[0])
+ assert_equal("proxy", f.read)
+ }
+ assert_match(%r[CONNECT #{url.sub(%r{\Ahttps://}, '')} ], sio.string)
+ sio.truncate(0); sio.rewind
ensure
prxy.shutdown
end