Mercurial > hg > ngx_http_auth_request_module
annotate t/auth-request-set.t @ 10:2b95417a1715
Auth request: fix body handling again.
Setting r->discard_body is wrong way to go as it causes lingering timer to
be armed on subrequest finalization. Create fake body instead.
This also allows to protect real body file from being closed in case it was
already read. Though it doesn't matter now as we set r->header_only and
relevant code in ngx_http_upstream_send_response() isn't reached.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 24 Mar 2010 07:23:22 +0300 |
parents | b77577b9c005 |
children |
rev | line source |
---|---|
8
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for auth request module, auth_request_set. |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Socket qw/ CRLF /; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 use Test::More; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 use Test::Nginx; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 ############################################################################### |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 select STDERR; $| = 1; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 select STDOUT; $| = 1; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 my $t = Test::Nginx->new()->has(qw/http rewrite/) |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 ->plan(6); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 $t->write_file_expand('nginx.conf', <<'EOF'); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
26 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 %%TEST_GLOBALS%% |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 master_process off; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
30 daemon off; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
31 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 events { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 http { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 %%TEST_GLOBALS_HTTP%% |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
38 server { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 listen 127.0.0.1:8080; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
40 server_name localhost; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 location = /t1.html { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 auth_request /auth; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 auth_request_set $username $upstream_http_x_username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 add_header X-Set-Username $username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
46 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
47 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
48 location = /t2.html { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
49 auth_request /auth; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
50 auth_request_set $username $upstream_http_x_username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
51 error_page 404 = /fallback; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
52 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
53 location = /fallback { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
54 add_header X-Set-Username $username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
55 return 204; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
56 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
58 location = /t3.html { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
59 auth_request /auth; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
60 auth_request_set $username $upstream_http_x_username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
61 error_page 404 = @fallback; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
62 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
63 location @fallback { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
64 add_header X-Set-Username $username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
65 return 204; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
67 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
68 location = /t4.html { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
69 auth_request /auth; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
70 auth_request_set $username $upstream_http_x_username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
71 error_page 404 = /t4-fallback.html; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
72 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
73 location = /t4-fallback.html { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
74 auth_request /auth2; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
75 auth_request_set $username $upstream_http_x_username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
76 add_header X-Set-Username $username; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
77 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
78 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
79 location = /t5.html { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
80 auth_request /auth; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
81 auth_request_set $args "setargs"; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
82 proxy_pass http://127.0.0.1:8081/t5.html; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
83 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
84 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
85 location = /t6.html { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
86 add_header X-Unset-Username "x${username}x"; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
87 return 204; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
88 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
89 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
90 location = /auth { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
91 proxy_pass http://127.0.0.1:8081; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
92 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
93 location = /auth2 { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
94 proxy_pass http://127.0.0.1:8081; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
95 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
96 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
97 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
98 server { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
99 listen 127.0.0.1:8081; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
100 server_name localhost; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
101 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
102 location = /auth { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
103 add_header X-Username "username"; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
104 return 204; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
105 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
106 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
107 location = /auth2 { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
108 add_header X-Username "username2"; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
109 return 204; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
110 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
111 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
112 location = /t5.html { |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
113 add_header X-Args $args; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
114 return 204; |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
115 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
116 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
117 } |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
118 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
119 EOF |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
120 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
121 $t->write_file('t1.html', ''); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
122 $t->write_file('t4-fallback.html', ''); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
123 $t->run(); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
124 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
125 ############################################################################### |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
126 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
127 like(http_get('/t1.html'), qr/X-Set-Username: username/, 'set normal'); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 like(http_get('/t2.html'), qr/X-Set-Username: username/, 'set after redirect'); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 like(http_get('/t3.html'), qr/X-Set-Username: username/, |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 'set after named location'); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 like(http_get('/t4.html'), qr/X-Set-Username: username2/, |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 'set on second auth'); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 # there are two variables with set_handler: $args and $limit_rate |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 # we do test $args as it's a bit more simple thing to do |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 like(http_get('/t5.html'), qr/X-Args: setargs/, 'variable with set_handler'); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 # check that using variable without setting it returns empty content |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
140 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
141 like(http_get('/t6.html'), qr/X-Unset-Username: xx/, 'unset variable'); |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
142 |
b77577b9c005
Auth request: auth_request_set tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
143 ############################################################################### |