From 94538f003c4031f33eb6545032bd234e483e65c6 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 3 Mar 2015 07:54:55 +0000 Subject: extras/proxy_pass: flesh out upload support + tests This module will probably become an official part of yahns soon, so finally add tests for this module. --- test/test_extras_proxy_pass.rb | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'test/test_extras_proxy_pass.rb') diff --git a/test/test_extras_proxy_pass.rb b/test/test_extras_proxy_pass.rb index 513e574..8842683 100644 --- a/test/test_extras_proxy_pass.rb +++ b/test/test_extras_proxy_pass.rb @@ -59,6 +59,8 @@ class TestExtrasProxyPass < Testcase end end + gplv3 = File.open('COPYING') + Net::HTTP.start(host, port) do |http| res = http.request(Net::HTTP::Get.new('/')) assert_equal 200, res.code.to_i @@ -69,9 +71,29 @@ class TestExtrasProxyPass < Testcase assert_equal n, res['Content-Length'].to_i assert_nil res.body - res = http.put(Net::HTTP::Put.new('/')) + # chunked encoding + req = Net::HTTP::Put.new('/') + req.body_stream = gplv3 + req.content_type = 'application/octet-stream' + req['Transfer-Encoding'] = 'chunked' + res = http.request(req) + gplv3.rewind + assert_equal gplv3.read, res.body + assert_equal 201, res.code.to_i + + # normal content-length + gplv3.rewind + req = Net::HTTP::Put.new('/') + req.body_stream = gplv3 + req.content_type = 'application/octet-stream' + req.content_length = gplv3.size + res = http.request(req) + gplv3.rewind + assert_equal gplv3.read, res.body + assert_equal 201, res.code.to_i end ensure + gplv3.close if gplv3 quit_wait pid quit_wait pid2 end -- cgit v1.2.3-24-ge0c7