Rainbows! 5.2.1
[rainbows.git] / t / t0105-rack-input-limit-bigger.sh
blobee03d4440603208577361f88972a3a6498d2264f
1 #!/bin/sh
2 . ./test-lib.sh
3 skip_models StreamResponseEpoll
4 test -r random_blob || die "random_blob required, run with 'make $0'"
5 req_curl_chunked_upload_err_check
7 t_plan 10 "rack.input client_max_body_size bigger"
9 t_begin "setup and startup" && {
10 rtmpfiles curl_out curl_err
11 rainbows_setup $model
12 ed -s $unicorn_config <<EOF
13 ,s/client_max_body_size.*/client_max_body_size 10485760/
15 EOF
16 rainbows -D sha1-random-size.ru -c $unicorn_config
17 rainbows_wait_start
20 t_begin "stops a regular request" && {
21 rm -f $ok
22 dd if=/dev/zero bs=10485761 count=1 of=$tmp
23 curl -vsSf -T $tmp -H Expect: \
24 http://$listen/ > $curl_out 2> $curl_err || > $ok
25 rm -f $tmp
26 dbgcat curl_err
27 dbgcat curl_out
28 if ! grep 413 $curl_err
29 then
30 # send error as documented in curl(1) manpage
31 grep -F '(55)' $curl_err
33 test -e $ok
36 t_begin "stops a large chunked request" && {
37 rm -f $ok
38 dd if=/dev/zero bs=10485761 count=1 | \
39 curl -vsSf -T- -H Expect: \
40 http://$listen/ > $curl_out 2> $curl_err || > $ok
41 dbgcat curl_err
42 dbgcat curl_out
43 if ! grep 413 $curl_err
44 then
45 # send error as documented in curl(1) manpage
46 grep -F '(55)' $curl_err
48 test -e $ok
51 t_begin "small size sha1 chunked ok" && {
52 blob_sha1=b376885ac8452b6cbf9ced81b1080bfd570d9b91
53 rm -f $ok
54 dd if=/dev/zero bs=256 count=1 | \
55 curl -vsSf -T- -H Expect: \
56 http://$listen/ > $curl_out 2> $curl_err
57 dbgcat curl_err
58 dbgcat curl_out
59 test "$(cat $curl_out)" = $blob_sha1
62 t_begin "small size sha1 content-length ok" && {
63 blob_sha1=b376885ac8452b6cbf9ced81b1080bfd570d9b91
64 rm -f $ok
65 dd if=/dev/zero bs=256 count=1 of=$tmp
66 curl -vsSf -T $tmp -H Expect: \
67 http://$listen/ > $curl_out 2> $curl_err
68 dbgcat curl_err
69 dbgcat curl_out
70 test "$(cat $curl_out)" = $blob_sha1
73 t_begin "right size sha1 chunked ok" && {
74 blob_sha1=8c206a1a87599f532ce68675536f0b1546900d7a
75 rm -f $ok
76 dd if=/dev/zero bs=10485760 count=1 | \
77 curl -vsSf -T- -H Expect: \
78 http://$listen/ > $curl_out 2> $curl_err
79 dbgcat curl_err
80 dbgcat curl_out
81 test "$(cat $curl_out)" = $blob_sha1
84 t_begin "right size sha1 content-length ok" && {
85 blob_sha1=8c206a1a87599f532ce68675536f0b1546900d7a
86 rm -f $ok
87 dd if=/dev/zero bs=10485760 count=1 of=$tmp
88 curl -vsSf -T $tmp -H Expect: \
89 http://$listen/ > $curl_out 2> $curl_err
90 rm -f $tmp
91 dbgcat curl_err
92 dbgcat curl_out
93 test "$(cat $curl_out)" = $blob_sha1
96 t_begin "default size sha1 chunked ok" && {
97 blob_sha1=3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
98 rm -f $ok
99 dd if=/dev/zero bs=1048576 count=1 | \
100 curl -vsSf -T- -H Expect: \
101 http://$listen/ > $curl_out 2> $curl_err
102 dbgcat curl_err
103 dbgcat curl_out
104 test "$(cat $curl_out)" = $blob_sha1
107 t_begin "default size sha1 content-length ok" && {
108 blob_sha1=3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
109 rm -f $ok
110 dd if=/dev/zero bs=1048576 count=1 of=$tmp
111 curl -vsSf -T $tmp -H Expect: \
112 http://$listen/ > $curl_out 2> $curl_err
113 rm -f $tmp
114 dbgcat curl_err
115 dbgcat curl_out
116 test "$(cat $curl_out)" = $blob_sha1
119 t_begin "shutdown" && {
120 kill $rainbows_pid
123 t_done