event_machine: factor out async.callback handling
[rainbows.git] / t / t0105-rack-input-limit-bigger.sh
blob642dd2bec28e42141e746218f22f92d71494e832
1 #!/bin/sh
2 . ./test-lib.sh
3 test -r random_blob || die "random_blob required, run with 'make $0'"
4 req_curl_chunked_upload_err_check
6 t_plan 10 "rack.input client_max_body_size bigger"
8 t_begin "setup and startup" && {
9 rtmpfiles curl_out curl_err cmbs_config
10 rainbows_setup $model
11 sed -e 's/client_max_body_size.*/client_max_body_size 10485760/' \
12 < $unicorn_config > $cmbs_config
13 rainbows -D sha1-random-size.ru -c $cmbs_config
14 rainbows_wait_start
17 t_begin "stops a regular request" && {
18 rm -f $ok
19 dd if=/dev/zero bs=10485761 count=1 of=$tmp
20 curl -vsSf -T $tmp -H Expect: \
21 http://$listen/ > $curl_out 2> $curl_err || > $ok
22 rm -f $tmp
23 dbgcat curl_err
24 dbgcat curl_out
25 grep 413 $curl_err
26 test -e $ok
29 t_begin "stops a large chunked request" && {
30 rm -f $ok
31 dd if=/dev/zero bs=10485761 count=1 | \
32 curl -vsSf -T- -H Expect: \
33 http://$listen/ > $curl_out 2> $curl_err || > $ok
34 dbgcat curl_err
35 dbgcat curl_out
36 grep 413 $curl_err
37 test -e $ok
40 t_begin "small size sha1 chunked ok" && {
41 blob_sha1=b376885ac8452b6cbf9ced81b1080bfd570d9b91
42 rm -f $ok
43 dd if=/dev/zero bs=256 count=1 | \
44 curl -vsSf -T- -H Expect: \
45 http://$listen/ > $curl_out 2> $curl_err
46 dbgcat curl_err
47 dbgcat curl_out
48 test "$(cat $curl_out)" = $blob_sha1
51 t_begin "small size sha1 content-length ok" && {
52 blob_sha1=b376885ac8452b6cbf9ced81b1080bfd570d9b91
53 rm -f $ok
54 dd if=/dev/zero bs=256 count=1 of=$tmp
55 curl -vsSf -T $tmp -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 "right size sha1 chunked ok" && {
63 blob_sha1=8c206a1a87599f532ce68675536f0b1546900d7a
64 rm -f $ok
65 dd if=/dev/zero bs=10485760 count=1 | \
66 curl -vsSf -T- -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 content-length ok" && {
74 blob_sha1=8c206a1a87599f532ce68675536f0b1546900d7a
75 rm -f $ok
76 dd if=/dev/zero bs=10485760 count=1 of=$tmp
77 curl -vsSf -T $tmp -H Expect: \
78 http://$listen/ > $curl_out 2> $curl_err
79 rm -f $tmp
80 dbgcat curl_err
81 dbgcat curl_out
82 test "$(cat $curl_out)" = $blob_sha1
85 t_begin "default size sha1 chunked ok" && {
86 blob_sha1=3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
87 rm -f $ok
88 dd if=/dev/zero bs=1048576 count=1 | \
89 curl -vsSf -T- -H Expect: \
90 http://$listen/ > $curl_out 2> $curl_err
91 dbgcat curl_err
92 dbgcat curl_out
93 test "$(cat $curl_out)" = $blob_sha1
96 t_begin "default size sha1 content-length ok" && {
97 blob_sha1=3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
98 rm -f $ok
99 dd if=/dev/zero bs=1048576 count=1 of=$tmp
100 curl -vsSf -T $tmp -H Expect: \
101 http://$listen/ > $curl_out 2> $curl_err
102 rm -f $tmp
103 dbgcat curl_err
104 dbgcat curl_out
105 test "$(cat $curl_out)" = $blob_sha1
108 t_begin "shutdown" && {
109 kill $rainbows_pid
112 t_done