annotate http_try_files.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 25f2ba615000
children 64eabe6aa1f2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
189
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 #!/usr/bin/perl
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 # Tests for try_files directive.
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 ###############################################################################
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 use warnings;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 use strict;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 use Test::More;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 BEGIN { use FindBin; chdir($FindBin::Bin); }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 use lib 'lib';
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 use Test::Nginx;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 ###############################################################################
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 select STDERR; $| = 1;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 select STDOUT; $| = 1;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
310
25f2ba615000 Tests: added missing proxy prerequisites.
Sergey Kandaurov <pluknet@nginx.com>
parents: 249
diff changeset
24 my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(4)
189
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25 ->write_file_expand('nginx.conf', <<'EOF');
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27 %%TEST_GLOBALS%%
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28
249
6a0d934950bc Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents: 224
diff changeset
29 daemon off;
189
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 events {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34 http {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 %%TEST_GLOBALS_HTTP%%
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 server {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 listen 127.0.0.1:8080;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 server_name localhost;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41 location / {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 try_files $uri /fallback;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 location /nouri/ {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 try_files $uri /fallback_nouri;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48
214
35d050d7d5f1 Tests: add try_files test with short uri (ticket #152).
Maxim Dounin <mdounin@mdounin.ru>
parents: 189
diff changeset
49 location /short/ {
35d050d7d5f1 Tests: add try_files test with short uri (ticket #152).
Maxim Dounin <mdounin@mdounin.ru>
parents: 189
diff changeset
50 try_files /short $uri =404;
35d050d7d5f1 Tests: add try_files test with short uri (ticket #152).
Maxim Dounin <mdounin@mdounin.ru>
parents: 189
diff changeset
51 }
35d050d7d5f1 Tests: add try_files test with short uri (ticket #152).
Maxim Dounin <mdounin@mdounin.ru>
parents: 189
diff changeset
52
189
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 location /fallback {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54 proxy_pass http://127.0.0.1:8081/fallback;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 location /fallback_nouri {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 proxy_pass http://127.0.0.1:8081;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61 server {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62 listen 127.0.0.1:8081;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63 server_name localhost;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65 location / {
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66 add_header X-URI $request_uri;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
67 return 204;
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
68 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
70 }
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
71
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
72 EOF
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
73
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
74 $t->write_file('found.html', 'SEE THIS');
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
75 $t->run();
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
76
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
77 ###############################################################################
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
78
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
79 like(http_get('/found.html'), qr!SEE THIS!, 'found');
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
80 like(http_get('/uri/notfound'), qr!X-URI: /fallback!, 'not found uri');
224
ba992cfdc606 Tests: remove TODO from tests which pass in 1.2.x.
Maxim Dounin <mdounin@mdounin.ru>
parents: 214
diff changeset
81 like(http_get('/nouri/notfound'), qr!X-URI: /fallback!, 'not found nouri');
214
35d050d7d5f1 Tests: add try_files test with short uri (ticket #152).
Maxim Dounin <mdounin@mdounin.ru>
parents: 189
diff changeset
82 like(http_get('/short/long'), qr!404 Not!, 'short uri in try_files');
189
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
83
802fc0786165 Tests: some try_files tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
84 ###############################################################################