Mercurial > hg > nginx-tests
annotate auth_basic.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 | 766bcbb632ee |
rev | line source |
---|---|
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for auth basic module. |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Test::More; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 use MIME::Base64; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 BEGIN { use FindBin; chdir($FindBin::Bin); } |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 use lib 'lib'; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 use Test::Nginx; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 ############################################################################### |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 |
666
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http auth_basic/)->plan(21) |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
30 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
241
diff
changeset
|
31 daemon off; |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 events { |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 } |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 http { |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
38 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
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; |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 server_name localhost; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 location / { |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 auth_basic "closed site"; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 auth_basic_user_file %%TESTDIR%%/htpasswd; |
666
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
46 |
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
47 location /inner { |
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
48 auth_basic off; |
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
49 alias %%TESTDIR%%/; |
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
50 } |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
51 } |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
52 } |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
53 } |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
54 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
55 EOF |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
56 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 $t->write_file('index.html', 'SEETHIS'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
58 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
59 $t->write_file( |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
60 'htpasswd', |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
61 'crypt:' . crypt('password', 'salt') . "\n" . |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
62 'crypt1:' . crypt('password', '$1$salt$') . "\n" . |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
63 'crypt2:' . '$1$' . "\n" . |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
64 'apr1:' . '$apr1$salt$Xxd1irWT9ycqoYxGFn4cb.' . "\n" . |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
65 'apr12:' . '$apr1$' . "\n" . |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 'plain:' . '{PLAIN}password' . "\n" . |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
67 'ssha:' . '{SSHA}yI6cZwQadOA1e+/f+T+H3eCQQhRzYWx0' . "\n" . |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
68 'ssha2:' . '{SSHA}_____wQadOA1e+/f+T+H3eCQQhRzYWx0' . "\n" . |
259
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
69 'ssha3:' . '{SSHA}Zm9vCg==' . "\n" . |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
70 'sha:' . '{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=' . "\n" . |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
71 'sha2:' . '{SHA}_____Mm5Pz8GgiULbPgzG37mj9g=' . "\n" . |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
72 'sha3:' . '{SHA}Zm9vCg==' . "\n" |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
73 ); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
74 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
75 $t->run(); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
76 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
77 ############################################################################### |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
78 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
79 like(http_get('/'), qr!401 Unauthorized!ms, 'rejects unathorized'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
80 |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
81 SKIP: { |
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
82 |
235
8d58b624a142
Tests: fix number of skipped tests in auth_basic.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
229
diff
changeset
|
83 skip 'no crypt on win32', 5 if $^O eq 'MSWin32'; |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
84 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
85 like(http_get_auth('/', 'crypt', 'password'), qr!SEETHIS!, 'normal crypt'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
86 unlike(http_get_auth('/', 'crypt', '123'), qr!SEETHIS!, 'normal wrong'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
87 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
88 like(http_get_auth('/', 'crypt1', 'password'), qr!SEETHIS!, 'crypt $1$ (md5)'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
89 unlike(http_get_auth('/', 'crypt1', '123'), qr!SEETHIS!, 'crypt $1$ wrong'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
90 |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
91 like(http_get_auth('/', 'crypt2', '1'), qr!401 Unauthorized!, |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
92 'crypt $1$ broken'); |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
93 |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
94 } |
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
95 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
96 like(http_get_auth('/', 'apr1', 'password'), qr!SEETHIS!, 'apr1 md5'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
97 like(http_get_auth('/', 'plain', 'password'), qr!SEETHIS!, 'plain password'); |
152
c9be30f65be7
Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents:
150
diff
changeset
|
98 |
c9be30f65be7
Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents:
150
diff
changeset
|
99 SKIP: { |
c9be30f65be7
Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents:
150
diff
changeset
|
100 # SHA1 may not be available unless we have OpenSSL |
c9be30f65be7
Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents:
150
diff
changeset
|
101 |
259
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
102 skip 'no sha1', 2 unless $t->has_module('--with-http_ssl_module') |
152
c9be30f65be7
Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents:
150
diff
changeset
|
103 or $t->has_module('--with-sha1') |
c9be30f65be7
Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents:
150
diff
changeset
|
104 or $t->has_module('--with-openssl'); |
c9be30f65be7
Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents:
150
diff
changeset
|
105 |
c9be30f65be7
Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents:
150
diff
changeset
|
106 like(http_get_auth('/', 'ssha', 'password'), qr!SEETHIS!, 'ssha'); |
259
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
107 like(http_get_auth('/', 'sha', 'password'), qr!SEETHIS!, 'sha'); |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
108 } |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
109 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
110 unlike(http_get_auth('/', 'apr1', '123'), qr!SEETHIS!, 'apr1 md5 wrong'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
111 unlike(http_get_auth('/', 'plain', '123'), qr!SEETHIS!, 'plain wrong'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
112 unlike(http_get_auth('/', 'ssha', '123'), qr!SEETHIS!, 'ssha wrong'); |
259
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
113 unlike(http_get_auth('/', 'sha', '123'), qr!SEETHIS!, 'sha wrong'); |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
114 |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
115 like(http_get_auth('/', 'apr12', '1'), qr!401 Unauthorized!, 'apr1 md5 broken'); |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
116 like(http_get_auth('/', 'ssha2', '1'), qr!401 Unauthorized!, 'ssha broken 1'); |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
117 like(http_get_auth('/', 'ssha3', '1'), qr!401 Unauthorized!, 'ssha broken 2'); |
259
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
118 like(http_get_auth('/', 'sha2', '1'), qr!401 Unauthorized!, 'sha broken 1'); |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
119 like(http_get_auth('/', 'sha3', '1'), qr!401 Unauthorized!, 'sha broken 2'); |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
120 |
666
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
121 like(http_get_auth('/', 'notfound', '1'), qr!401 Unauthorized!, 'not found'); |
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
122 like(http_get('/inner/'), qr!SEETHIS!, 'inner off'); |
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
123 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
124 ############################################################################### |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
125 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
126 sub http_get_auth { |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
127 my ($url, $user, $password) = @_; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 |
439
d5b541a8cf95
Tests: removed extra EOL in auth_basic.t requests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
317
diff
changeset
|
129 my $auth = encode_base64($user . ':' . $password, ''); |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 |
439
d5b541a8cf95
Tests: removed extra EOL in auth_basic.t requests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
317
diff
changeset
|
131 return http(<<EOF); |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 GET $url HTTP/1.0 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 Host: localhost |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 Authorization: Basic $auth |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 EOF |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 } |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 ############################################################################### |