tests: replace several sed invocations with ed
[rainbows.git] / t / t0105-rack-input-limit-bigger.sh
blobed13d4ebb454705c2be9c822964869812405118d
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
10 rainbows_setup $model
11 ed -s $unicorn_config <<EOF
12 ,s/client_max_body_size.*/client_max_body_size 10485760/
14 EOF
15 rainbows -D sha1-random-size.ru -c $unicorn_config
16 rainbows_wait_start
19 t_begin "stops a regular request" && {
20 rm -f $ok
21 dd if=/dev/zero bs=10485761 count=1 of=$tmp
22 curl -vsSf -T $tmp -H Expect: \
23 http://$listen/ > $curl_out 2> $curl_err || > $ok
24 rm -f $tmp
25 dbgcat curl_err
26 dbgcat curl_out
27 grep 413 $curl_err
28 test -e $ok
31 t_begin "stops a large chunked request" && {
32 rm -f $ok
33 dd if=/dev/zero bs=10485761 count=1 | \
34 curl -vsSf -T- -H Expect: \
35 http://$listen/ > $curl_out 2> $curl_err || > $ok
36 dbgcat curl_err
37 dbgcat curl_out
38 grep 413 $curl_err
39 test -e $ok
42 t_begin "small size sha1 chunked ok" && {
43 blob_sha1=b376885ac8452b6cbf9ced81b1080bfd570d9b91
44 rm -f $ok
45 dd if=/dev/zero bs=256 count=1 | \
46 curl -vsSf -T- -H Expect: \
47 http://$listen/ > $curl_out 2> $curl_err
48 dbgcat curl_err
49 dbgcat curl_out
50 test "$(cat $curl_out)" = $blob_sha1
53 t_begin "small size sha1 content-length ok" && {
54 blob_sha1=b376885ac8452b6cbf9ced81b1080bfd570d9b91
55 rm -f $ok
56 dd if=/dev/zero bs=256 count=1 of=$tmp
57 curl -vsSf -T $tmp -H Expect: \
58 http://$listen/ > $curl_out 2> $curl_err
59 dbgcat curl_err
60 dbgcat curl_out
61 test "$(cat $curl_out)" = $blob_sha1
64 t_begin "right size sha1 chunked ok" && {
65 blob_sha1=8c206a1a87599f532ce68675536f0b1546900d7a
66 rm -f $ok
67 dd if=/dev/zero bs=10485760 count=1 | \
68 curl -vsSf -T- -H Expect: \
69 http://$listen/ > $curl_out 2> $curl_err
70 dbgcat curl_err
71 dbgcat curl_out
72 test "$(cat $curl_out)" = $blob_sha1
75 t_begin "right size sha1 content-length ok" && {
76 blob_sha1=8c206a1a87599f532ce68675536f0b1546900d7a
77 rm -f $ok
78 dd if=/dev/zero bs=10485760 count=1 of=$tmp
79 curl -vsSf -T $tmp -H Expect: \
80 http://$listen/ > $curl_out 2> $curl_err
81 rm -f $tmp
82 dbgcat curl_err
83 dbgcat curl_out
84 test "$(cat $curl_out)" = $blob_sha1
87 t_begin "default size sha1 chunked ok" && {
88 blob_sha1=3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
89 rm -f $ok
90 dd if=/dev/zero bs=1048576 count=1 | \
91 curl -vsSf -T- -H Expect: \
92 http://$listen/ > $curl_out 2> $curl_err
93 dbgcat curl_err
94 dbgcat curl_out
95 test "$(cat $curl_out)" = $blob_sha1
98 t_begin "default size sha1 content-length ok" && {
99 blob_sha1=3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
100 rm -f $ok
101 dd if=/dev/zero bs=1048576 count=1 of=$tmp
102 curl -vsSf -T $tmp -H Expect: \
103 http://$listen/ > $curl_out 2> $curl_err
104 rm -f $tmp
105 dbgcat curl_err
106 dbgcat curl_out
107 test "$(cat $curl_out)" = $blob_sha1
110 t_begin "shutdown" && {
111 kill $rainbows_pid
114 t_done