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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ###############################################################################