Mercurial > hg > nginx-tests
annotate auth_basic.t @ 1236:93f749c1d5c5
Tests: fixed parallel tests execution with UDP.
Previously, when checking ports availability, a UDP socket was always created
first, then a TCP socket was created. On success, one of UDP and TCP sockets
was closed (depending on the "udp" option) and the second one was used to busy
this port in other scripts. This lead to the following problem: in an attempt
to reopen a UDP socket used in a given testing script it could be stolen by
another script as part of checking ports availability.
To solve this problem, UDP and TCP ports were split into two non-overlapping
ranges: TCP ports are only used in the range 8000-8499, and UDP ports - in
the range 8500-8999. In addition, the order of creating sockets in UDP tests
has been reversed: now a TCP socket used as a lock precedes a UDP socket.
author | Andrey Zelenkov <zelenkov@nginx.com> |
---|---|
date | Thu, 26 Oct 2017 18:00:21 +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 ############################################################################### |