annotate http_variables.t @ 1215:26884729e06b

Tests: cope with resolver resend in mail resolver tests. Currently, if resolver didn't find PTR type in the answer section of PTR response, it keeps the node in the resend queue until the next timer event.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 31 Aug 2017 19:09:04 +0300
parents cb46ac65d50e
children 4bc1490cedbc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
1 #!/usr/bin/perl
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
2
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
4 # (C) Valentin Bartenev
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
5
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
6 # Tests for http variables.
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
7
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
8 ###############################################################################
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
9
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
10 use warnings;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
11 use strict;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
12
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
13 use Test::More;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
14
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
15 BEGIN { use FindBin; chdir($FindBin::Bin); }
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
16
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
17 use lib 'lib';
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
18 use Test::Nginx;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
19
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
20 ###############################################################################
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
21
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
22 select STDERR; $| = 1;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
23 select STDOUT; $| = 1;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
24
1000
577a5899a33d Tests: fixed plan in a previous change.
Sergey Kandaurov <pluknet@nginx.com>
parents: 999
diff changeset
25 my $t = Test::Nginx->new()->has(qw/http rewrite proxy/)->plan(5);
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
26
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
27 $t->write_file_expand('nginx.conf', <<'EOF');
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
28
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
29 %%TEST_GLOBALS%%
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
30
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
31 daemon off;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
32
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
33 events {
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
34 }
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
35
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
36 http {
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
37 %%TEST_GLOBALS_HTTP%%
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
38
192
f2a48c528b3b Tests: fixed http variables test, log entries order may differ.
Valentin Bartenev <ne@vbart.ru>
parents: 185
diff changeset
39 log_format cc "$uri: $sent_http_cache_control";
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
40
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
41 server {
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
42 listen 127.0.0.1:8080;
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
43 server_name localhost;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
44
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
45 access_log %%TESTDIR%%/cc.log cc;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
46
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
47 location / {
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
48 return 200 OK;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
49 }
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
50
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
51 location /set {
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
52 add_header Cache-Control max-age=3600;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
53 add_header Cache-Control private;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
54 add_header Cache-Control must-revalidate;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
55 return 200 OK;
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
56 }
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
57
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
58 location /redefine {
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
59 expires epoch;
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
60 proxy_pass http://127.0.0.1:8080/set;
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
61 }
999
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
62
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
63 location /limit_rate {
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
64 set $limit_rate 40k;
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
65 add_header X-Rate $limit_rate;
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
66 return 200 OK;
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
67 }
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
68 }
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
69 }
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
70
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
71 EOF
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
72
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
73 $t->run();
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
74
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
75 ###############################################################################
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
76
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
77 http_get('/');
441
cd61bacbbfe0 Tests: ensure that $uri is reset on URI parsing errors.
Sergey Kandaurov <pluknet@nginx.com>
parents: 264
diff changeset
78 http_get('/../bad_uri');
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
79 http_get('/redefine');
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
80
999
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
81 # $limit_rate is a special variable that has its own set_handler / get_handler
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
82
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
83 like(http_get('/limit_rate'), qr/X-Rate: 40960/, 'limit_rate handlers');
ff12dfdb0cda Tests: added test for the $limit_rate variable.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
84
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
85 $t->stop();
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
86
908
adf5671391ac Tests: use read_file subroutine in several tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 447
diff changeset
87 my $log = $t->read_file('cc.log');
441
cd61bacbbfe0 Tests: ensure that $uri is reset on URI parsing errors.
Sergey Kandaurov <pluknet@nginx.com>
parents: 264
diff changeset
88 like($log, qr!^: -$!m, 'no uri');
192
f2a48c528b3b Tests: fixed http variables test, log entries order may differ.
Valentin Bartenev <ne@vbart.ru>
parents: 185
diff changeset
89 like($log, qr!^/: -$!m, 'no header');
1130
cb46ac65d50e Tests: fixed expected value for multiple Cache-Control headers.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1000
diff changeset
90 like($log, qr!^/set: max-age=3600, private, must-revalidate$!m,
192
f2a48c528b3b Tests: fixed http variables test, log entries order may differ.
Valentin Bartenev <ne@vbart.ru>
parents: 185
diff changeset
91 'multi headers');
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
92
192
f2a48c528b3b Tests: fixed http variables test, log entries order may differ.
Valentin Bartenev <ne@vbart.ru>
parents: 185
diff changeset
93 like($log, qr!^/redefine: no-cache$!m, 'ignoring headers with (hash == 0)');
185
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
94
43fe964de06a Tests: added tests for the $sent_http_cache_control variable.
Valentin Bartenev <ne@vbart.ru>
parents:
diff changeset
95 ###############################################################################