Mercurial > hg > nginx-tests
annotate auth_basic.t @ 1905:f35824e75b66
Tests: fixed reading QUIC streams on Perl < 5.24.
The parse_stream() routine has had a missing explicit return if there were no
streams received. In Perl < 5.24 this used to return no value, or an empty
array in the list context. In modern Perl this returns an empty value, or an
array of 1 element, which made the check for last index of the returned array
work rather by accident.
The fix is to return explicitly and to check the array size in callers instead.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 06 Jun 2023 18:50:07 +0400 |
parents | 53a801bf4d0b |
children | 032ccd3118cb |
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', |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
67 'crypt:' . crypt('password', 'salt') . "\n" . |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
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 |
235
8d58b624a142
Tests: fix number of skipped tests in auth_basic.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
229
diff
changeset
|
89 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
|
90 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
91 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
|
92 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
|
93 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
94 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
|
95 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
|
96 |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
97 like(http_get_auth('/', 'crypt2', '1'), qr!401 Unauthorized!, |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
98 'crypt $1$ broken'); |
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
99 |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
100 } |
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
101 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
102 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
|
103 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
|
104 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
|
105 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
|
106 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
107 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
|
108 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
|
109 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
|
110 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
|
111 |
229
9969fcf1f27e
Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
223
diff
changeset
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 |
666
64f22e0aaab2
Tests: auth basic tests for merged "off" value and user not found.
Sergey Kandaurov <pluknet@nginx.com>
parents:
439
diff
changeset
|
118 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
|
119 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
|
120 |
1719
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
121 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
|
122 'user file variable'); |
53a801bf4d0b
Tests: auth_basic_user_file variable tests with conf_prefix.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1251
diff
changeset
|
123 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
|
124 '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
|
125 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
|
126 '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
|
127 |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 ############################################################################### |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 sub http_get_auth { |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 my ($url, $user, $password) = @_; |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 |
439
d5b541a8cf95
Tests: removed extra EOL in auth_basic.t requests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
317
diff
changeset
|
133 my $auth = encode_base64($user . ':' . $password, ''); |
150
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 return http(<<EOF); |
150
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 GET $url HTTP/1.0 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 Host: localhost |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 Authorization: Basic $auth |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
140 EOF |
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 |
6b73d6c8f26c
Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
143 ############################################################################### |