From ab067831e707b191d6dfdcd01de1f1d85fc90d05 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 18 Oct 2013 10:28:18 +0000 Subject: initial commit --- test/test_serve_static.rb | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test/test_serve_static.rb (limited to 'test/test_serve_static.rb') diff --git a/test/test_serve_static.rb b/test/test_serve_static.rb new file mode 100644 index 0000000..b9856e9 --- /dev/null +++ b/test/test_serve_static.rb @@ -0,0 +1,42 @@ +# Copyright (C) 2013, Eric Wong and all contributors +# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt) +require_relative 'server_helper' +require 'rack/file' + +class TestServeStatic < Testcase + parallelize_me! + include ServerHelper + alias setup server_helper_setup + alias teardown server_helper_teardown + + def test_serve_static + err = @err + cfg = Yahns::Config.new + host, port = @srv.addr[3], @srv.addr[1] + cfg.instance_eval do + GTL.synchronize do + app(:rack, Rack::File.new(Dir.pwd)) { listen "#{host}:#{port}" } + end + logger(Logger.new(err.path)) + end + srv = Yahns::Server.new(cfg) + pid = fork do + ENV["YAHNS_FD"] = @srv.fileno.to_s + srv.start.join + end + gplv3 = File.read("COPYING") + Net::HTTP.start(host, port) do |http| + res = http.request(Net::HTTP::Get.new("/COPYING")) + assert_equal gplv3, res.body + + req = Net::HTTP::Get.new("/COPYING", "Range" => "bytes=5-46") + res = http.request(req) + assert_equal gplv3[5..46], res.body + end + rescue => e + Yahns::Log.exception(Logger.new($stderr), "test", e) + raise + ensure + quit_wait(pid) + end +end -- cgit v1.2.3-24-ge0c7