3 no warnings qw(redefine once);
8 use Test::More tests => 5;
13 require './l7directord';
16 #...............................................
21 my $sock = create_sock($port);
22 skip 'cannot create socket', 1 if !$sock;
23 my $pid = prepare_child($sock, "220\n250\n");
25 my $v = {negotiatetimeout => 3};
26 my $r = { server => {ip => '127.0.0.1', port => $port }, fail_counts => 0 };
27 my $got = check_smtp($v, $r);
28 is $got, $main::SERVICE_UP, 'check_smtp - connect ok';
34 my $sock = create_sock($port);
35 skip 'cannot create socket', 1 if !$sock;
36 my $pid = prepare_child($sock, "220\n250\n");
38 my $v = {negotiatetimeout => 3, checkport => $port };
39 my $r = { server => {ip => '127.0.0.1', port => 10000 }, fail_counts => 0 };
40 my $got = check_smtp($v, $r);
41 is $got, $main::SERVICE_UP, 'check_smtp - checkport connect ok';
47 my $sock = create_sock($port);
48 skip 'cannot create socket', 1 if !$sock;
49 my $pid = prepare_child($sock, "420\n");
51 my $v = {negotiatetimeout => 1, checkport => $port };
52 my $r = { server => {ip => '127.0.0.1', port => 10000 }, fail_counts => 0 };
53 my $got = check_smtp($v, $r);
54 is $got, $main::SERVICE_DOWN, 'check_smtp - error response';
60 my $sock = create_sock($port);
61 skip 'cannot create socket', 1 if !$sock;
62 my $pid = prepare_child($sock, "220\n250\n", 2);
64 my $v = {negotiatetimeout => 1, checkport => $port };
65 my $r = { server => {ip => '127.0.0.1', port => 10000 }, fail_counts => 0 };
66 my $got = check_smtp($v, $r);
67 is $got, $main::SERVICE_DOWN, 'check_smtp - timeout';
74 my $v = {negotiatetimeout => 1, checkport => $port };
75 my $r = { server => {ip => '127.0.0.1', port => 10000 }, fail_counts => 0 };
76 my $got = check_smtp($v, $r);
77 is $got, $main::SERVICE_DOWN, 'check_smtp - connect error';
80 #...............................................
86 my $sock = IO::Socket::INET->new(
88 LocalAddr => 'localhost',
100 my $s = $sock->accept;
101 if ($sleep) { sleep $sleep; }
116 *ld_log = \&__ld_log;
117 *get_status = \&__get_status;
120 return $main::SERVICE_UP;