From ac346b5abcfa6253bd792091e5fb011774c40d49 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 7 Sep 2011 00:36:58 +0000 Subject: add preliminary SSL support This will also be the foundation of SSL support in Rainbows! and Zbatery. Some users may also want to use this in Unicorn on LANs to meet certain security/auditing requirements. Of course, Nightmare! (in whatever form) should also be able to use it. --- test/unit/test_sni_hostnames.rb | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/unit/test_sni_hostnames.rb (limited to 'test/unit/test_sni_hostnames.rb') diff --git a/test/unit/test_sni_hostnames.rb b/test/unit/test_sni_hostnames.rb new file mode 100644 index 0000000..457afee --- /dev/null +++ b/test/unit/test_sni_hostnames.rb @@ -0,0 +1,47 @@ +# -*- encoding: binary -*- +require "test/unit" +require "unicorn" + +# this tests an implementation detail, it may change so this test +# can be removed later. +class TestSniHostnames < Test::Unit::TestCase + include Unicorn::SSLServer + + def setup + GC.start + end + + def teardown + GC.start + end + + def test_host_name_detect_one + app = Rack::Builder.new do + map "http://sni1.example.com/" do + use Rack::ContentLength + use Rack::ContentType, "text/plain" + run lambda { |env| [ 200, {}, [] ] } + end + end.to_app + hostnames = rack_sni_hostnames(app) + assert hostnames.include?("sni1.example.com") + end + + def test_host_name_detect_multiple + app = Rack::Builder.new do + map "http://sni2.example.com/" do + use Rack::ContentLength + use Rack::ContentType, "text/plain" + run lambda { |env| [ 200, {}, [] ] } + end + map "http://sni3.example.com/" do + use Rack::ContentLength + use Rack::ContentType, "text/plain" + run lambda { |env| [ 200, {}, [] ] } + end + end.to_app + hostnames = rack_sni_hostnames(app) + assert hostnames.include?("sni2.example.com") + assert hostnames.include?("sni3.example.com") + end +end -- cgit v1.2.3-24-ge0c7