annotate auth_basic.t @ 540:481d705b8610

Tests: SSL support in mail backends. Socket is now embedded into every mail module. Socket methods are wrapped where appropriate. The new "SSL" extra flag specifies to accept connection over SSL.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 03 Apr 2015 00:11:38 +0300
parents d5b541a8cf95
children 64f22e0aaab2
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
259
024bae0ecd0c Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents: 249
diff changeset
26 my $t = Test::Nginx->new()->has(qw/http auth_basic/)->plan(19)
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 {
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 listen 127.0.0.1:8080;
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;
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 }
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 }
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 }
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 EOF
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 my $d = $t->testdir();
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 $t->write_file('index.html', 'SEETHIS');
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 $t->write_file(
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 'htpasswd',
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58 'crypt:' . crypt('password', 'salt') . "\n" .
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 'crypt1:' . crypt('password', '$1$salt$') . "\n" .
229
9969fcf1f27e Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 223
diff changeset
60 'crypt2:' . '$1$' . "\n" .
150
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61 'apr1:' . '$apr1$salt$Xxd1irWT9ycqoYxGFn4cb.' . "\n" .
229
9969fcf1f27e Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 223
diff changeset
62 'apr12:' . '$apr1$' . "\n" .
150
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63 'plain:' . '{PLAIN}password' . "\n" .
229
9969fcf1f27e Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 223
diff changeset
64 'ssha:' . '{SSHA}yI6cZwQadOA1e+/f+T+H3eCQQhRzYWx0' . "\n" .
9969fcf1f27e Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 223
diff changeset
65 '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
66 'ssha3:' . '{SSHA}Zm9vCg==' . "\n" .
024bae0ecd0c Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents: 249
diff changeset
67 'sha:' . '{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=' . "\n" .
024bae0ecd0c Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents: 249
diff changeset
68 'sha2:' . '{SHA}_____Mm5Pz8GgiULbPgzG37mj9g=' . "\n" .
024bae0ecd0c Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents: 249
diff changeset
69 'sha3:' . '{SHA}Zm9vCg==' . "\n"
150
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
70 );
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
71
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
72 $t->run();
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
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
76 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
77
223
f9325406df0b Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents: 166
diff changeset
78 SKIP: {
f9325406df0b Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents: 166
diff changeset
79
235
8d58b624a142 Tests: fix number of skipped tests in auth_basic.t.
Maxim Dounin <mdounin@mdounin.ru>
parents: 229
diff changeset
80 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
81
150
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
82 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
83 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
84
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
85 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
86 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
87
229
9969fcf1f27e Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 223
diff changeset
88 like(http_get_auth('/', 'crypt2', '1'), qr!401 Unauthorized!,
9969fcf1f27e Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 223
diff changeset
89 'crypt $1$ broken');
9969fcf1f27e Tests: corrupted password entries tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 223
diff changeset
90
223
f9325406df0b Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents: 166
diff changeset
91 }
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('/', 'apr1', 'password'), qr!SEETHIS!, 'apr1 md5');
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
94 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
95
c9be30f65be7 Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents: 150
diff changeset
96 SKIP: {
c9be30f65be7 Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents: 150
diff changeset
97 # 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
98
259
024bae0ecd0c Tests: {SHA} password scheme tests (ticket #50).
Maxim Dounin <mdounin@mdounin.ru>
parents: 249
diff changeset
99 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
100 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
101 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
102
c9be30f65be7 Tests: various password schemes are in 1.0.3.
Maxim Dounin <mdounin@mdounin.ru>
parents: 150
diff changeset
103 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
104 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
105 }
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
150
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
118 ###############################################################################
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
119
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
120 sub http_get_auth {
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
121 my ($url, $user, $password) = @_;
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
122
439
d5b541a8cf95 Tests: removed extra EOL in auth_basic.t requests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 317
diff changeset
123 my $auth = encode_base64($user . ':' . $password, '');
150
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
124
439
d5b541a8cf95 Tests: removed extra EOL in auth_basic.t requests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 317
diff changeset
125 return http(<<EOF);
150
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
126 GET $url HTTP/1.0
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
127 Host: localhost
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
128 Authorization: Basic $auth
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 EOF
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
6b73d6c8f26c Tests: add some auth basic module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
133 ###############################################################################