Mercurial > hg > nginx-tests
annotate auth_basic.t @ 1962:f1ba89f735ba
Tests: fixed auth_basic.t on OpenBSD.
OpenBSD does not provide any crypt() schemes except bcrypt-based "$2"
anymore. As such, relevant tests are now skipped not for win32 only,
but based on crypt() results.
Note that just testing crypt('password', 'salt') is not enough, since
Perl on win32 provides its own crypt() implementation, which is able
to handle traditional DES crypt(), but rejects "$1$".
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sun, 05 May 2024 23:56:07 +0300 |
parents | 032ccd3118cb |
children |
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 |
1719
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http auth_basic/)->plan(24) |
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 } |
1719
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
51 |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
52 location /var { |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
53 # prepended with conf_prefix |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
54 auth_basic_user_file $arg_f; |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
55 alias %%TESTDIR%%/; |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
56 } |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 } |
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 } |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
60 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
61 EOF |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
62 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
63 $t->write_file('index.html', 'SEETHIS'); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
64 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
65 $t->write_file( |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 'htpasswd', |
1913
032ccd3118cb
Tests: fixed warning on win32 in auth_basic.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1719
diff
changeset
|
67 'crypt:' . (crypt('password', 'salt') || '') . "\n" . |
032ccd3118cb
Tests: fixed warning on win32 in auth_basic.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1719
diff
changeset
|
68 'crypt1:' . (crypt('password', '$1$salt$') || '') . "\n" . |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
69 'crypt2:' . '$1$' . "\n" . |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
70 'apr1:' . '$apr1$salt$Xxd1irWT9ycqoYxGFn4cb.' . "\n" . |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
71 'apr12:' . '$apr1$' . "\n" . |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
72 'plain:' . '{PLAIN}password' . "\n" . |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
73 'ssha:' . '{SSHA}yI6cZwQadOA1e+/f+T+H3eCQQhRzYWx0' . "\n" . |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
74 '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
|
75 'ssha3:' . '{SSHA}Zm9vCg==' . "\n" . |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
76 'sha:' . '{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=' . "\n" . |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
77 'sha2:' . '{SHA}_____Mm5Pz8GgiULbPgzG37mj9g=' . "\n" . |
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
78 'sha3:' . '{SHA}Zm9vCg==' . "\n" |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
79 ); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
80 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
81 $t->run(); |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
82 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
83 ############################################################################### |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
84 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
85 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
|
86 |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
87 SKIP: { |
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
88 |
1962
f1ba89f735ba
Tests: fixed auth_basic.t on OpenBSD.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1913
diff
changeset
|
89 skip 'no crypt', 5 |
f1ba89f735ba
Tests: fixed auth_basic.t on OpenBSD.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1913
diff
changeset
|
90 if not crypt('password', 'salt') |
f1ba89f735ba
Tests: fixed auth_basic.t on OpenBSD.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1913
diff
changeset
|
91 or not crypt('password', '$1$salt$'); |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
92 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
93 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
|
94 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
|
95 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
96 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
|
97 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
|
98 |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
99 like(http_get_auth('/', 'crypt2', '1'), qr!401 Unauthorized!, |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
100 'crypt $1$ broken'); |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
101 |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
102 } |
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
103 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
104 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
|
105 like(http_get_auth('/', 'plain', 'password'), qr!SEETHIS!, 'plain password'); |
1251
766bcbb632ee
Tests: removed TODO and try_run() checks for legacy versions.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
106 like(http_get_auth('/', 'ssha', 'password'), qr!SEETHIS!, 'ssha'); |
766bcbb632ee
Tests: removed TODO and try_run() checks for legacy versions.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
107 like(http_get_auth('/', 'sha', 'password'), qr!SEETHIS!, 'sha'); |
259
024bae0ecd0c
Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
108 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
109 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
|
110 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
|
111 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
|
112 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
|
113 |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
114 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 |
666
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
120 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
|
121 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
|
122 |
1719
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
123 like(http_get_auth('/var/?f=htpasswd', 'apr1', 'password'), qr!SEETHIS!, |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
124 'user file variable'); |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
125 unlike(http_get_auth('/var/?f=nx', 'apr1', 'password'), qr!SEETHIS!, |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
126 'user file variable not found'); |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
127 unlike(http_get_auth('/var/', 'apr1', 'password'), qr!SEETHIS!, |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
128 'user file variable bad value'); |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
129 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 ############################################################################### |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 sub http_get_auth { |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 my ($url, $user, $password) = @_; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 |
439
d5b541a8cf95
Tests: removed extra EOL in auth_basic.t requests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
317
diff
changeset
|
135 my $auth = encode_base64($user . ':' . $password, ''); |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 |
439
d5b541a8cf95
Tests: removed extra EOL in auth_basic.t requests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
317
diff
changeset
|
137 return http(<<EOF); |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 GET $url HTTP/1.0 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 Host: localhost |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
140 Authorization: Basic $auth |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
141 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
142 EOF |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
143 } |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
144 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
145 ############################################################################### |