AnyEvent-SNMP-TrapReceiver
view release on metacpan or search on metacpan
t/01-listen.t view on Meta::CPAN
my $cv = AnyEvent->condvar;
my $trapd = AnyEvent::SNMP::TrapReceiver->new(
bind => ['localhost', 0],
cb => sub {
$cv->send( @_);
},
);
my $port = (unpack_sockaddr_in($trapd->{server}->{fh}->sockname))[0];
my $client = IO::Socket::INET->new(PeerHost => 'localhost', PeerPort => $port, Proto => 'udp');
# hard coded v2c trap
my $raw = pack( 'H*', '3041020101040464656d6fa7360204779778cc0201000201003028300e06082b06010201010300430203d43016060a2b06010603010104010006082b06010603010101');
send $client, $raw, 0;
is( $cv->recv->{oid}{'1.3.6.1.2.1.1.3.0'}, 980, "Verify v2c trap content");
}
{
my $cv = AnyEvent->condvar;
my $trapd = AnyEvent::SNMP::TrapReceiver->new(
bind => ['localhost', 0],
cb => sub {
$cv->send( @_);
},
);
my $port = (unpack_sockaddr_in($trapd->{server}->{fh}->sockname))[0];
my $client = IO::Socket::INET->new(PeerHost => 'localhost', PeerPort => $port, Proto => 'udp');
# hard coded v1 trap
my $raw = pack( 'H*', '3034020100040464656d6fa429060357060840047f000001020101020101430400e268ea3010300e06032b0601040761626364656667');
send $client, $raw, 0;
ok( $cv->recv->{oid}{'1.3.6.1'} eq 'abcdefg', "Verify v1 trap content");
}
done_testing;
( run in 2.522 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )