Mercurial > hg > nginx-tests
annotate ssi.t @ 570:f7bc1f74970a
Tests: avoid send errors in syslog tests with mail error_log.
Use a separate mail server block for syslog parsing tests to make sure
that syslog messages are always read by the receiver on the remote side.
Otherwise, syslog message might not be sent due to a pending socket error.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Thu, 07 May 2015 14:28:44 +0300 |
parents | 907e89fba9c3 |
children | 517cde5075d8 |
rev | line source |
---|---|
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for nginx ssi module. |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Test::More; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 BEGIN { use FindBin; chdir($FindBin::Bin); } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 use lib 'lib'; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 use Test::Nginx; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 ############################################################################### |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 select STDERR; $| = 1; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 select STDOUT; $| = 1; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
24 plan(skip_all => 'win32') if $^O eq 'MSWin32'; |
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
25 |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http ssi cache proxy rewrite/)->plan(28); |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 $t->write_file_expand('nginx.conf', <<'EOF'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 |
107
1c0ec30614c6
Tests: add TEST_GLOBALS and TEST_GLOBALS_HTTP config chunks.
Maxim Dounin <mdounin@mdounin.ru>
parents:
106
diff
changeset
|
30 %%TEST_GLOBALS%% |
1c0ec30614c6
Tests: add TEST_GLOBALS and TEST_GLOBALS_HTTP config chunks.
Maxim Dounin <mdounin@mdounin.ru>
parents:
106
diff
changeset
|
31 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
224
diff
changeset
|
32 daemon off; |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 events { |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 http { |
107
1c0ec30614c6
Tests: add TEST_GLOBALS and TEST_GLOBALS_HTTP config chunks.
Maxim Dounin <mdounin@mdounin.ru>
parents:
106
diff
changeset
|
38 %%TEST_GLOBALS_HTTP%% |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
40 proxy_cache_path %%TESTDIR%%/cache levels=1:2 |
503
071e8941e3bf
Tests: reduce shared memory zone sizes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
502
diff
changeset
|
41 keys_zone=NAME:1m; |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
42 |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 server { |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 listen 127.0.0.1:8080; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 server_name localhost; |
129
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
46 |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
47 if ($args = "found") { |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
48 return 204; |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
49 } |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
50 |
91
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
51 location / { |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
52 ssi on; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
53 } |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
54 location /proxy/ { |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
55 ssi on; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
56 proxy_pass http://127.0.0.1:8080/local/; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
57 } |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
58 location /cache/ { |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
59 proxy_pass http://127.0.0.1:8080/local/; |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
60 proxy_cache NAME; |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
61 proxy_cache_valid 200 1h; |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
62 } |
91
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
63 location /local/ { |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
64 ssi off; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
65 alias %%TESTDIR%%/; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
66 } |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
67 location = /test-empty-postpone.html { |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
68 ssi on; |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
69 postpone_output 0; |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
70 } |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
71 location /var { |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
72 ssi on; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
73 add_header X-Var $date_gmt; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
74 } |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
75 location /var_noformat { |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
76 ssi on; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
77 add_header X-Var $date_gmt; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
78 return 200; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
79 } |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
80 location /var_nossi { |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
81 add_header X-Var $date_gmt; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
82 return 200; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
83 } |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
84 } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
85 } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
86 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
87 EOF |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
88 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
89 $t->write_file('test1.html', 'X<!--#echo var="arg_test" -->X'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
90 $t->write_file('test2.html', |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
91 'X<!--#include virtual="/test1.html?test=test" -->X'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
92 $t->write_file('test3.html', |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
93 'X<!--#set var="blah" value="test" --><!--#echo var="blah" -->X'); |
129
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
94 $t->write_file('test-args-rewrite.html', |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
95 'X<!--#include virtual="/check?found" -->X'); |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
96 $t->write_file('test-empty1.html', 'X<!--#include virtual="/empty.html" -->X'); |
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
97 $t->write_file('test-empty2.html', |
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
98 'X<!--#include virtual="/local/empty.html" -->X'); |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
99 $t->write_file('test-empty3.html', |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
100 'X<!--#include virtual="/cache/empty.html" -->X'); |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
101 $t->write_file('test-empty-postpone.html', |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
102 'X<!--#include virtual="/proxy/empty.html" -->X'); |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
103 $t->write_file('empty.html', ''); |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
104 |
367
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
105 $t->write_file('unescape.html?', 'SEE-THIS'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
106 $t->write_file('unescape1.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
107 'X<!--#include virtual="/tes%741.html?test=test" -->X'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
108 $t->write_file('unescape2.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
109 'X<!--#include virtual="/unescape.html%3f" -->X'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
110 $t->write_file('unescape3.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
111 'X<!--#include virtual="/test1.html%3ftest=test" -->X'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
112 |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
113 $t->write_file('var_format.html', |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
114 'x<!--#if expr="$arg_custom" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
115 . '<!--#config timefmt="%A, %H:%M:%S" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
116 . '<!--#set var="v" value="$date_gmt" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
117 . '<!--#echo var="v" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
118 . '<!--#else -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
119 . '<!--#set var="v" value="$date_gmt" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
120 . '<!--#echo var="v" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
121 . '<!--#endif -->x'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
122 |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
123 $t->run(); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
124 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
125 ############################################################################### |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
126 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
127 like(http_get('/test1.html'), qr/^X\(none\)X$/m, 'echo no argument'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 like(http_get('/test1.html?test='), qr/^XX$/m, 'empty argument'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 like(http_get('/test1.html?test=test'), qr/^XtestX$/m, 'argument'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 like(http_get('/test1.html?test=test&a=b'), qr/^XtestX$/m, 'argument 2'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 like(http_get('/test1.html?a=b&test=test'), qr/^XtestX$/m, 'argument 3'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 like(http_get('/test1.html?a=b&test=test&d=c'), qr/^XtestX$/m, 'argument 4'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 like(http_get('/test1.html?atest=a&testb=b&ctestc=c&test=test'), qr/^XtestX$/m, |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 'argument 5'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 like(http_get('/test2.html'), qr/^XXtestXX$/m, 'argument via include'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 like(http_get('/test3.html'), qr/^XtestX$/m, 'set'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 |
129
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
140 # args should be in subrequest even if original request has no args and that |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
141 # was queried somehow (e.g. by server rewrites) |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
142 |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
143 like(http_get('/test-args-rewrite.html'), qr/^XX$/m, 'args only subrequest'); |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
144 |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
145 like(http_get('/test-args-rewrite.html?wasargs'), qr/^XX$/m, |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
146 'args was in main request'); |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
147 |
91
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
148 # Last-Modified and Accept-Ranges headers should be cleared |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
149 |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
150 unlike(http_get('/test1.html'), qr/Last-Modified|Accept-Ranges/im, |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
151 'cleared headers'); |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
152 unlike(http_get('/proxy/test1.html'), qr/Last-Modified|Accept-Ranges/im, |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
153 'cleared headers from proxy'); |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
154 |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
155 # empty subrequests |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
156 |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
157 like(http_get('/test-empty1.html'), qr/HTTP/, 'empty with ssi'); |
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
158 like(http_get('/test-empty2.html'), qr/HTTP/, 'empty without ssi'); |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
159 like(http_get('/test-empty3.html'), qr/HTTP/, 'empty with proxy'); |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
160 like(http_get('/test-empty3.html'), qr/HTTP/, 'empty with proxy cached'); |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
161 |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
162 like(http_get('/test-empty-postpone.html'), qr/HTTP.*XX/ms, |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
163 'empty with postpone_output 0'); |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
164 |
367
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
165 # handling of escaped URIs |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
166 |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
167 like(http_get('/unescape1.html'), qr/^XXtestXX$/m, 'escaped in path'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
168 like(http_get('/unescape2.html'), qr/^XSEE-THISX$/m, |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
169 'escaped question in path'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
170 like(http_get('/unescape3.html'), qr/404 Not Found/, |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
171 'escaped query separator'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
172 |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
173 # handling of embedded date variables |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
174 |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
175 like(http_get('/var_nossi.html'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
176 qr/X-Var: \w+, \d\d-\w{3}-\d{4} \d\d:\d\d:\d\d \w+/, 'no ssi'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
177 like(http_get('/var_noformat.html'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
178 qr/X-Var: \w+, \d\d-\w{3}-\d{4} \d\d:\d\d:\d\d \w+/, 'no format'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
179 |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
180 like(http_get('/var_format.html?custom=1'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
181 qr/X-Var: \w+, \d\d-\w{3}-\d{4} \d\d:\d\d:\d\d \w+/, 'custom header'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
182 like(http_get('/var_format.html'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
183 qr/X-Var: \w+, \d\d-\w{3}-\d{4} \d\d:\d\d:\d\d \w+/, 'default header'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
184 |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
185 like(http_get('/var_format.html?custom=1'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
186 qr/x\w+, \d\d:\d\d:\d\dx/, 'custom ssi'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
187 like(http_get('/var_format.html'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
188 qr/x\w+, \d\d-\w{3}-\d{4} \d\d:\d\d:\d\d \w+x/, 'default ssi'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
189 |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
190 like(`grep -F '[alert]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no alerts'); |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
191 |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
192 ############################################################################### |