Mercurial > hg > nginx-tests
annotate ssi.t @ 431:05c46688b54b
Tests: ssl_password_file.t fixes.
Make sure to always specify listen socket in all servers as the
default vary (under root, nginx will try to listen on 80). Make sure
to detect if an https request was processed by http.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 09 Jul 2014 05:19:51 +0400 |
parents | 847ea345becb |
children | 134ea15d7473 |
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 |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http ssi cache proxy rewrite/)->plan(27); |
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 |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
41 keys_zone=NAME:10m; |
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 } |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
67 location /var { |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
68 ssi on; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
69 add_header X-Var $date_gmt; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
70 } |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
71 location /var_noformat { |
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 return 200; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
75 } |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
76 location /var_nossi { |
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 } |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
80 } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
81 } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
82 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
83 EOF |
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 $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
|
86 $t->write_file('test2.html', |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
87 'X<!--#include virtual="/test1.html?test=test" -->X'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
88 $t->write_file('test3.html', |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
89 '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
|
90 $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
|
91 'X<!--#include virtual="/check?found" -->X'); |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
92 $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
|
93 $t->write_file('test-empty2.html', |
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
94 '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
|
95 $t->write_file('test-empty3.html', |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
96 'X<!--#include virtual="/cache/empty.html" -->X'); |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
97 $t->write_file('empty.html', ''); |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
98 |
367
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
99 $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
|
100 $t->write_file('unescape1.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
101 '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
|
102 $t->write_file('unescape2.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
103 '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
|
104 $t->write_file('unescape3.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
105 '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
|
106 |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
107 $t->write_file('var_format.html', |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
108 'x<!--#if expr="$arg_custom" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
109 . '<!--#config timefmt="%A, %H:%M:%S" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
110 . '<!--#set var="v" value="$date_gmt" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
111 . '<!--#echo var="v" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
112 . '<!--#else -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
113 . '<!--#set var="v" value="$date_gmt" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
114 . '<!--#echo var="v" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
115 . '<!--#endif -->x'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
116 |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
117 $t->run(); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
118 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
119 ############################################################################### |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
120 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
121 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
|
122 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
|
123 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
|
124 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
|
125 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
|
126 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
|
127 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
|
128 'argument 5'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 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
|
131 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 like(http_get('/test3.html'), qr/^XtestX$/m, 'set'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 |
129
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
134 # 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
|
135 # 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
|
136 |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
137 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
|
138 |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
139 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
|
140 'args was in main request'); |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
141 |
91
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
142 # 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
|
143 |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
144 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
|
145 'cleared headers'); |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
146 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
|
147 '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
|
148 |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
149 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
|
150 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
|
151 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
|
152 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
|
153 |
367
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
154 # handling of escaped URIs |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
155 |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
156 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
|
157 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
|
158 'escaped question in path'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
159 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
|
160 'escaped query separator'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
161 |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
162 # handling of embedded date variables |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
163 |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
164 like(http_get('/var_nossi.html'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
165 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
|
166 like(http_get('/var_noformat.html'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
167 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
|
168 |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
169 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
|
170 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
|
171 like(http_get('/var_format.html'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
172 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
|
173 |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
174 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
|
175 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
|
176 like(http_get('/var_format.html'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
177 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
|
178 |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
179 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
|
180 |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
181 ############################################################################### |