Mercurial > hg > nginx-tests
annotate headers.t @ 1571:1b4ceab9cb1c
Tests: fixed ssl_certificate.t with LibreSSL client.
Net::SSLeay::connect() that manages TLS handshake could return unexpected
error when receiving server alert, as seen in server certificate tests if
it could not been selected. Typically, it returns the expected error -1,
but with certain libssl implementations it can be 0, as explained below.
The error is propagated from libssl's SSL_connect(), which is usually -1.
In modern OpenSSL versions, it is the default error code used in the state
machine returned when something went wrong with parsing TLS message header.
In versions up to OpenSSL 1.0.2, with SSLv23_method() used by default, -1
is the only error code in the ssl_connect() method implementation which is
used as well if receiving alert while parsing ServerHello. BoringSSL also
seems to return -1. But it is not so with LibreSSL that returns zero.
Previously, tests failed with client built with LibreSSL with SSLv3 removed.
Here, the error is propagated directly from ssl_read_bytes() method, which
is always implemented as ssl3_read_bytes() in all TLS methods. It could be
also seen with OpenSSL up to 1.0.2 with non-default methods explicitly set.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 29 May 2020 23:10:20 +0300 |
parents | 97c8280de681 |
children |
rev | line source |
---|---|
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Sergey Kandaurov |
515
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
4 # (C) Maxim Dounin |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 # (C) Nginx, Inc. |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 # Tests for headers module. |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 ############################################################################### |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use warnings; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 use strict; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 use Test::More; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 BEGIN { use FindBin; chdir($FindBin::Bin); } |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 use lib 'lib'; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 |
1212
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http proxy/)->plan(28) |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 daemon off; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 events { |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 } |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 http { |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
40 listen 127.0.0.1:8080; |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 server_name localhost; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
43 add_header X-URI $uri; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 add_header X-Always $uri always; |
857
fcda5bd87ab2
Tests: added "add_header ... '' always" tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
45 add_header ETag foo always; |
fcda5bd87ab2
Tests: added "add_header ... '' always" tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
46 add_header ETag '' always; |
515
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
47 expires epoch; |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 location /t1 { |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 } |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
51 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 location /nx { |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 } |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
54 |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
55 location /epoch { |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
56 expires epoch; |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
57 } |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
58 |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
59 location /max { |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
60 expires max; |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
61 } |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
62 |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
63 location /off { |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
64 expires off; |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
65 } |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
66 |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
67 location /access { |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
68 expires 2048; |
515
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
69 |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
70 location /access_inner { |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
71 # inherited from outer |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
72 } |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
73 } |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
74 |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
75 location /negative { |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
76 expires -2048; |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
77 } |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
78 |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
79 location /daily { |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
80 expires @15h30m33s; |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
81 } |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
82 |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
83 location /modified { |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
84 expires modified 2048; |
1212
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
85 |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
86 location /modified/proxy { |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
87 proxy_pass http://127.0.0.1:8081/modified; |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
88 } |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
89 } |
515
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
90 |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
91 location /var { |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
92 expires $arg_e; |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
93 |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
94 location /var_inner { |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
95 # inherited from outer |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
96 } |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
97 |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
98 location /var_modified { |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
99 expires modified $arg_e; |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
100 } |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
101 } |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
102 } |
1212
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
103 |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
104 server { |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
105 listen 127.0.0.1:8081; |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
106 server_name localhost; |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
107 |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
108 add_header Last-Modified "Mon, 28 Sep 1970 06:00:00 GMT"; |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
109 } |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
110 } |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
111 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
112 EOF |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
113 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
114 $t->write_file('t1', ''); |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
115 $t->write_file('epoch', ''); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
116 $t->write_file('max', ''); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
117 $t->write_file('off', ''); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
118 $t->write_file('access', ''); |
515
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
119 $t->write_file('access_inner', ''); |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
120 $t->write_file('negative', ''); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
121 $t->write_file('daily', ''); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
122 $t->write_file('modified', ''); |
515
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
123 $t->write_file('var', ''); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
124 $t->write_file('var_inner', ''); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
125 $t->write_file('var_modified', ''); |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
126 |
568
907e89fba9c3
Tests: removed TODO and try_run() checks for legacy versions.
Sergey Kandaurov <pluknet@nginx.com>
parents:
515
diff
changeset
|
127 $t->run(); |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
128 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
129 ############################################################################### |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
130 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
131 my $r; |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
132 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
133 # test for header field presence |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
134 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
135 $r = http_get('/t1'); |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
136 like($r, qr/Cache-Control/, 'good expires'); |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
137 like($r, qr/X-URI/, 'good add_header'); |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
138 like($r, qr/X-Always/, 'good add_header always'); |
857
fcda5bd87ab2
Tests: added "add_header ... '' always" tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
139 unlike($r, qr/ETag/, 'good add_header always empty'); |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
140 |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
141 $r = http_get('/nx'); |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
142 unlike($r, qr/Cache-Control/, 'bad expires'); |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
143 unlike($r, qr/X-URI/, 'bad add_header'); |
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
144 like($r, qr/X-Always/, 'bad add_header always'); |
857
fcda5bd87ab2
Tests: added "add_header ... '' always" tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
145 unlike($r, qr/ETag/, 'bad add_header always empty'); |
fcda5bd87ab2
Tests: added "add_header ... '' always" tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
146 |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
147 # various expires variants |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
148 |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
149 like(http_get('/epoch'), qr/Expires:.*1970/, 'expires epoch'); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
150 like(http_get('/max'), qr/Expires:.*2037/, 'expires max'); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
151 unlike(http_get('/off'), qr/Expires:/, 'expires off'); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
152 like(http_get('/access'), qr/max-age=2048/, 'expires access'); |
515
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
153 like(http_get('/access_inner'), qr/max-age=2048/, 'expires inner'); |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
154 like(http_get('/negative'), qr/no-cache/, 'expires negative'); |
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
155 like(http_get('/daily'), qr/Expires:.*:33 GMT/, 'expires daily'); |
512
a610ee837190
Tests: relaxed "expires modified" test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
511
diff
changeset
|
156 like(http_get('/modified'), qr/max-age=204./, 'expires modified'); |
511
1e0818200b3f
Tests: various expires variants.
Maxim Dounin <mdounin@mdounin.ru>
parents:
456
diff
changeset
|
157 |
1212
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
158 # "expires modified" with proxy |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
159 |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
160 like(http_get('/modified/proxy'), qr/Expires: Mon, 28 Sep 1970 06:34:08 GMT/, |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
161 'expires modified proxy'); |
0469ef3fcd34
Tests: added "expires modified" test with proxy.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1020
diff
changeset
|
162 |
515
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
163 # expires with variables |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
164 |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
165 like(http_get('/var?e=epoch'), qr/Expires:.*1970/, 'expires var epoch'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
166 like(http_get('/var?e=max'), qr/Expires:.*2037/, 'expires var max'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
167 unlike(http_get('/var?e=off'), qr/Expires:/, 'expires var off'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
168 like(http_get('/var?e=2048'), qr/max-age=2048/, 'expires var access'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
169 like(http_get('/var_inner?e=2048'), qr/max-age=2048/, 'expires var inner'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
170 like(http_get('/var?e=-2048'), qr/no-cache/, 'expires var negative'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
171 like(http_get('/var?e=@33s'), qr/Expires:.*:33 GMT/, 'expires var daily'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
172 like(http_get('/var_modified?e=2048'), qr/max-age=204./, |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
173 'expires var modified'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
174 |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
175 # some invalid cases |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
176 |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
177 unlike(http_get('/var'), qr/Expires/, 'expires var empty'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
178 unlike(http_get('/var?e=bad'), qr/Expires/, 'expires var bad'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
179 unlike(http_get('/var_modified?e=epoch'), qr/Expires/, |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
180 'expires var modified epoch'); |
9f972a386434
Tests: expires with variables.
Sergey Kandaurov <pluknet@nginx.com>
parents:
512
diff
changeset
|
181 |
456
858e93175802
Tests: headers module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
182 ############################################################################### |