1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

test CA certs dir.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2009-09-12 11:56:12 +00:00
parent 5ee445bc0c
commit c35f659524

View file

@ -65,6 +65,10 @@ class TestOpenURISSL < Test::Unit::TestCase
with_https {|srv, dr, url| with_https {|srv, dr, url|
cacert_filename = "#{dr}/cacert.pem" cacert_filename = "#{dr}/cacert.pem"
open(cacert_filename, "w") {|f| f << CA_CERT } 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({ prxy = WEBrick::HTTPProxyServer.new({
:ServerType => Thread, :ServerType => Thread,
:Logger => WEBrick::Log.new(NullLog), :Logger => WEBrick::Log.new(NullLog),
@ -80,6 +84,13 @@ class TestOpenURISSL < Test::Unit::TestCase
assert_equal("proxy", f.read) assert_equal("proxy", f.read)
} }
assert_match(%r[CONNECT #{url.sub(%r{\Ahttps://}, '')} ], sio.string) 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 ensure
prxy.shutdown prxy.shutdown
end end