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
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
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 ###############################################################################