a17635dfa9e00a3e1deb03f1080ee764bc877cf0
[scpubgit/Tak-Daemon.git] / t / tcp_listen.t
1 use strictures 1;
2 use Test::More;
3 use Tak::Daemon::ListenerService;
4 use Tak::Client;
5 use Tak::Router;
6 use Tak::ConnectorService;
7
8 use Log::Contextual ();
9 use Log::Contextual::SimpleLogger ();
10
11 Log::Contextual::set_logger(
12   Log::Contextual::SimpleLogger->new({
13     levels_upto => 'info',
14     coderef => sub { print STDERR @_; }
15   })
16 );
17
18 use lib 't/lib';
19 use PortFinder;
20
21 my $port = empty_port;
22
23 my $l_cl = Tak::Client->new(
24   service => Tak::Daemon::ListenerService->new(
25     router => Tak::Client->new(service => Tak::Router->new),
26     listen_on => { ip => '127.0.0.1', port => $port },
27   )
28 );
29
30 $l_cl->do('start');
31
32 warn "up on ${port}";
33
34 #Tak->loop_until(0);
35
36 my $conn_cl = Tak::Client->new(
37   service => Tak::ConnectorService->new
38 );
39
40 warn "Connecting";
41
42 my $cl = $conn_cl->curry(
43   connection => $conn_cl->do(create => "127.0.0.1:${port}")
44     => remote => 'meta'
45 );
46
47 cmp_ok($cl->do('pid'), '==', $$, "PID returned from TCP ok");
48
49 done_testing;