OSDN Git Service

2009/12/13 一時更新
[ultramonkey-l7/ultramonkey-l7-v3.git] / l7directord / t / 16_check_func.t
1 use strict;
2 use warnings;
3 no warnings qw(redefine once);
4 use lib qw(t/lib lib);
5 use subs qw(print);
6 use Cwd;
7 use L7lib;
8 use Test::More tests => 34;
9 use Socket;
10 use Socket6;
11
12 L7lib::chdir();
13 L7lib::comment_out();
14 require './l7directord';
15 override();
16
17 #...............................................
18 # test start
19 #   - get_check_func
20 {
21     set_default();
22     my $got = get_check_func();
23     is $got, \&main::check_off, 'get_check_func - virtual is undef';
24 }
25 {
26     set_default();
27     my $v = {};
28     my $got = get_check_func($v);
29     is $got, \&main::check_none, 'get_check_func - no checktype';
30 }
31 {
32     set_default();
33     my $v = {
34         checktype => 'negotiate',
35         service => 'http'
36             };
37     my $got = get_check_func($v);
38     is $got, \&main::check_http, 'get_check_func - negotiate http';
39 }
40 {
41     set_default();
42     my $v = {
43         checktype => 'negotiate',
44         service => 'https'
45             };
46     my $got = get_check_func($v);
47     is $got, \&main::check_http, 'get_check_func - negotiate https';
48 }
49 {
50     set_default();
51     my $v = {
52         checktype => 'negotiate',
53         service => 'pop'
54             };
55     my $got = get_check_func($v);
56     is $got, \&main::check_pop, 'get_check_func - negotiate pop';
57 }
58 {
59     set_default();
60     my $v = {
61         checktype => 'negotiate',
62         service => 'imap'
63             };
64     my $got = get_check_func($v);
65     is $got, \&main::check_imap, 'get_check_func - negotiate imap';
66 }
67 {
68     set_default();
69     my $v = {
70         checktype => 'negotiate',
71         service => 'smtp'
72             };
73     my $got = get_check_func($v);
74     is $got, \&main::check_smtp, 'get_check_func - negotiate smtp';
75 }
76 {
77     set_default();
78     my $v = {
79         checktype => 'negotiate',
80         service => 'ftp'
81             };
82     my $got = get_check_func($v);
83     is $got, \&main::check_ftp, 'get_check_func - negotiate ftp';
84 }
85 {
86     set_default();
87     my $v = {
88         checktype => 'negotiate',
89         service => 'ldap'
90             };
91     my $got = get_check_func($v);
92     is $got, \&main::check_ldap, 'get_check_func - negotiate ldap';
93 }
94 {
95     set_default();
96     my $v = {
97         checktype => 'negotiate',
98         service => 'nntp'
99             };
100     my $got = get_check_func($v);
101     is $got, \&main::check_nntp, 'get_check_func - negotiate nntp';
102 }
103 {
104     set_default();
105     my $v = {
106         checktype => 'negotiate',
107         service => 'dns'
108             };
109     my $got = get_check_func($v);
110     is $got, \&main::check_dns, 'get_check_func - negotiate dns';
111 }
112 {
113     set_default();
114     my $v = {
115         checktype => 'negotiate',
116         service => 'sip'
117             };
118     my $got = get_check_func($v);
119     is $got, \&main::check_sip, 'get_check_func - negotiate sip';
120 }
121 {
122     set_default();
123     my $v = {
124         checktype => 'negotiate',
125         service => 'mysql'
126             };
127     my $got = get_check_func($v);
128     is $got, \&main::check_mysql, 'get_check_func - negotiate mysql';
129 }
130 {
131     set_default();
132     my $v = {
133         checktype => 'negotiate',
134         service => 'pgsql'
135             };
136     my $got = get_check_func($v);
137     is $got, \&main::check_pgsql, 'get_check_func - negotiate pgsql';
138 }
139 {
140     set_default();
141     my $v = {
142         checktype => 'negotiate',
143         service => 'unknown'
144             };
145     my $got = get_check_func($v);
146     is $got, \&main::check_none, 'get_check_func - negotiate unknown';
147 }
148 TODO:{
149     todo_skip 'should check closure.', 1 if 1;
150     set_default();
151     my $v = {
152         checktype => 'combined',
153         service => 'http'
154             };
155     my $got = get_check_func($v);
156     is $got, \&main::check_http, 'get_check_func - combined http';
157 }
158 TODO:{
159     todo_skip 'should check closure.', 1 if 1;
160     set_default();
161     my $v = {
162         checktype => 'combined',
163         service => 'https'
164             };
165     my $got = get_check_func($v);
166     is $got, \&main::check_http, 'get_check_func - combined https';
167 }
168 TODO:{
169     todo_skip 'should check closure.', 1 if 1;
170     set_default();
171     my $v = {
172         checktype => 'combined',
173         service => 'pop'
174             };
175     my $got = get_check_func($v);
176     is $got, \&main::check_pop, 'get_check_func - combined pop';
177 }
178 TODO:{
179     todo_skip 'should check closure.', 1 if 1;
180     set_default();
181     my $v = {
182         checktype => 'combined',
183         service => 'imap'
184             };
185     my $got = get_check_func($v);
186     is $got, \&main::check_imap, 'get_check_func - combined imap';
187 }
188 TODO:{
189     todo_skip 'should check closure.', 1 if 1;
190     set_default();
191     my $v = {
192         checktype => 'combined',
193         service => 'smtp'
194             };
195     my $got = get_check_func($v);
196     is $got, \&main::check_smtp, 'get_check_func - combined smtp';
197 }
198 TODO:{
199     todo_skip 'should check closure.', 1 if 1;
200     set_default();
201     my $v = {
202         checktype => 'combined',
203         service => 'ftp'
204             };
205     my $got = get_check_func($v);
206     is $got, \&main::check_ftp, 'get_check_func - combined ftp';
207 }
208 TODO:{
209     todo_skip 'should check closure.', 1 if 1;
210     set_default();
211     my $v = {
212         checktype => 'combined',
213         service => 'ldap'
214             };
215     my $got = get_check_func($v);
216     is $got, \&main::check_ldap, 'get_check_func - combined ldap';
217 }
218 TODO:{
219     todo_skip 'should check closure.', 1 if 1;
220     set_default();
221     my $v = {
222         checktype => 'combined',
223         service => 'nntp'
224             };
225     my $got = get_check_func($v);
226     is $got, \&main::check_nntp, 'get_check_func - combined nntp';
227 }
228 TODO:{
229     todo_skip 'should check closure.', 1 if 1;
230     set_default();
231     my $v = {
232         checktype => 'combined',
233         service => 'dns'
234             };
235     my $got = get_check_func($v);
236     is $got, \&main::check_dns, 'get_check_func - combined dns';
237 }
238 TODO:{
239     todo_skip 'should check closure.', 1 if 1;
240     set_default();
241     my $v = {
242         checktype => 'combined',
243         service => 'sip'
244             };
245     my $got = get_check_func($v);
246     is $got, \&main::check_sip, 'get_check_func - combined sip';
247 }
248 TODO:{
249     todo_skip 'should check closure.', 1 if 1;
250     set_default();
251     my $v = {
252         checktype => 'combined',
253         service => 'mysql'
254             };
255     my $got = get_check_func($v);
256     is $got, \&main::check_mysql, 'get_check_func - combined mysql';
257 }
258 TODO:{
259     todo_skip 'should check closure.', 1 if 1;
260     set_default();
261     my $v = {
262         checktype => 'combined',
263         service => 'pgsql'
264             };
265     my $got = get_check_func($v);
266     is $got, \&main::check_pgsql, 'get_check_func - combined pgsql';
267 }
268 {
269     set_default();
270     my $v = {
271         checktype => 'combined',
272         service => 'unknown'
273             };
274     my $got = get_check_func($v);
275     is $got, \&main::check_none, 'get_check_func - combined unknown';
276 }
277 {
278     set_default();
279     my $v = {
280         checktype => 'connect',
281             };
282     my $got = get_check_func($v);
283     is $got, \&main::check_ping, 'get_check_func - connect, but no protocol';
284 }
285 {
286     set_default();
287     my $v = {
288         checktype => 'connect',
289         protocol => 'udp',
290             };
291     my $got = get_check_func($v);
292     is $got, \&main::check_ping, 'get_check_func - connect, protocol is not tcp';
293 }
294 {
295     set_default();
296     my $v = {
297         checktype => 'connect',
298         protocol => 'tcp',
299             };
300     my $got = get_check_func($v);
301     is $got, \&main::check_connect, 'get_check_func - connect, protocol is tcp';
302 }
303 {
304     set_default();
305     my $v = {
306         checktype => 'ping',
307             };
308     my $got = get_check_func($v);
309     is $got, \&main::check_ping, 'get_check_func - ping';
310 }
311 {
312     set_default();
313     my $v = {
314         checktype => 'off',
315             };
316     my $got = get_check_func($v);
317     is $got, \&main::check_off, 'get_check_func - off';
318 }
319 {
320     set_default();
321     my $v = {
322         checktype => 'on',
323             };
324     my $got = get_check_func($v);
325     is $got, \&main::check_on, 'get_check_func - on';
326 }
327 # test end
328 #...............................................
329
330 L7lib::comment_in();
331
332 sub set_default {
333 }
334 sub override {
335     *ld_log = \&__ld_log;
336 }
337 sub __ld_log {
338 }