Mercurial > hg > nginx-tests
annotate server_tokens.t @ 1021:ebdf239722b9
Tests: relaxed proxy_cache_lock.t nolock tests to fix on Solaris.
Assumed that the order of responses being arrived in nolock case may be ignored.
An important part of such case is that the only last response should be cached.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 02 Sep 2016 12:17:35 +0300 |
parents | 882267679006 |
children | cfe1bc3162f9 |
rev | line source |
---|---|
869
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
2 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
3 # (C) Andrey Zelenkov |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
5 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
6 # Tests for server_tokens directive. |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
7 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
9 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
11 use strict; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
12 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
14 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
16 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
19 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
20 ############################################################################### |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
21 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
22 select STDERR; $| = 1; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
23 select STDOUT; $| = 1; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
24 |
877
8c7414010ae8
Tests: adjust server_tokens.t for backed out changes.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
874
diff
changeset
|
25 my $t = Test::Nginx->new()->has(qw/http rewrite/)->plan(9) |
869
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
26 ->write_file_expand('nginx.conf', <<'EOF'); |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
27 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
28 %%TEST_GLOBALS%% |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
29 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
30 daemon off; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
31 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
32 events { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
33 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
34 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
35 http { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
36 %%TEST_GLOBALS_HTTP%% |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
37 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
38 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
39 listen 127.0.0.1:8080; |
881
56ed4be9ff41
Tests: added server_name and fixed indentation in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
878
diff
changeset
|
40 server_name localhost; |
869
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
41 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
42 location /200 { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
43 return 200; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
44 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
45 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
46 location /404 { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
47 return 404; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
48 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
49 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
50 location /off { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
51 server_tokens off; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
52 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
53 location /off/200 { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
54 return 200; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
55 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
56 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
57 location /off/404 { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
58 return 404; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
59 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
60 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
61 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
62 location /on { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
63 server_tokens on; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
64 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
65 location /on/200 { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
66 return 200; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
67 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
68 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
69 location /on/404 { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
70 return 404; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
71 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
72 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
73 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
74 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
75 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
76 EOF |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
77 |
877
8c7414010ae8
Tests: adjust server_tokens.t for backed out changes.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
874
diff
changeset
|
78 $t->run(); |
869
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
79 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
80 ############################################################################### |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
81 |
878
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
82 like(http_get_server('/200'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens default 200'); |
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
83 like(http_get_server('/404'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens default 404'); |
869
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
84 like(http_body('/404'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens default 404 body'); |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
85 |
878
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
86 is(http_get_server('/off/200'), 'nginx', 'tokens off 200'); |
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
87 is(http_get_server('/off/404'), 'nginx', 'tokens off 404'); |
869
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
88 like(http_body('/off/404'), qr/nginx(?!\/)/, 'tokens off 404 body'); |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
89 |
878
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
90 like(http_get_server('/on/200'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens on 200'); |
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
91 like(http_get_server('/on/404'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens on 404'); |
869
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
92 like(http_body('/on/404'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens on 404 body'); |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
93 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
94 ############################################################################### |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
95 |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
96 sub http_body { |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
97 my ($uri) = shift; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
98 return http_get($uri) =~ /.*?\x0d\x0a?\x0d\x0a?(.*)/ms && $1; |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
99 } |
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
100 |
878
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
101 sub http_get_server { |
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
102 my ($url) = @_; |
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
103 http_get($url) =~ /^Server:\s(.+?)\x0d?$/mi; |
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
104 return $1; |
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
105 } |
327044615c87
Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
877
diff
changeset
|
106 |
869
f528369414aa
Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
107 ############################################################################### |