Mojo-SNMP
view release on metacpan or search on metacpan
.travis.yml view on Meta::CPAN
perl:
- "5.20"
- "5.16"
- "5.10"
env:
- "HARNESS_OPTIONS=j1 TEST_POD=1 LIVE_TEST=1 TEST_MEMORY=1"
before_install:
- "sudo apt-get update"
- "sudo apt-get install snmpd"
install:
- "cpanm -n Test::Pod Test::Pod::Coverage Crypt::DES Digest::HMAC Digest::SHA1 Test::Memory::Cycle"
- "cpanm -n --installdeps ."
notifications:
email: false
# You can install this projct with curl -L http://cpanmin.us | perl - https://github.com/jhthorsen/mojo-snmp/archive/master.tar.gz
requires "Mojolicious" => "6.0";
requires "Net::SNMP" => "0";
recommends "Crypt::DES" => "2.00";
recommends "Digest::HMAC" => "1.00";
recommends "Digest::SHA1" => "2.13";
test_requires "Test::More" => "0.88";
use strict;
use warnings;
use Test::More;
use Mojo::SNMP;
use constant TEST_MEMORY => $ENV{TEST_MEMORY} && eval 'use Test::Memory::Cycle; 1';
diag 'Test::Memory::Cycle is not available' unless TEST_MEMORY;
plan skip_all => 'Crypt::DES is required' unless eval 'require Crypt::DES; 1';
my $snmp = Mojo::SNMP->new;
my (@response, @error, $timeout, $finish);
$snmp->concurrent(0); # required to set up the queue
$snmp->defaults({timeout => 1, community => 'public', username => 'foo'});
$snmp->on(response => sub { push @response, $_[1]->var_bind_list });
$snmp->on(error => sub { note "error: $_[1]"; push @error, $_[1] });
$snmp->on(finish => sub { $finish++ });
$snmp->on(timeout => sub { $timeout++ });
use strict;
use warnings;
use Test::More;
use Mojo::SNMP;
use constant TEST_MEMORY => $ENV{TEST_MEMORY} && eval 'use Test::Memory::Cycle; 1';
my $snmp = Mojo::SNMP->new;
my $net_snmp = Net::SNMP->new(nonblocking => 1);
my (@request, @response, @error, $timeout, $finish, $guard);
plan skip_all => 'Crypt::DES is required' unless eval 'require Crypt::DES; 1';
$snmp->concurrent(0); # required to set up the queue
$snmp->defaults({timeout => 1, community => 'public', username => 'foo'});
$snmp->on(response => sub { push @response, $_[1]->var_bind_list });
$snmp->on(error => sub { push @error, $_[1] });
$snmp->on(finish => sub { $finish++ });
$snmp->on(timeout => sub { $timeout++ });
$snmp->prepare('1.2.3.4', {version => '2c'}, get => ['1.3.6.1.2.1.1.4.0']);
t/methods.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Mojo::SNMP;
plan skip_all => 'Crypt::DES is required' unless eval 'require Crypt::DES; 1';
my $snmp = Mojo::SNMP->new;
my (@response, @extra, $timeout, $finish);
$snmp->concurrent(0); # required to set up the queue
$snmp->defaults({timeout => 1, community => 'public', username => 'foo'});
$snmp->on(response => sub { push @extra, 'aiai' });
$snmp->on(error => sub { note "error: $_[1]"; push @extra, $_[1] });
$snmp->on(finish => sub { $finish++ });
$snmp->on(timeout => sub { $timeout++ });
t/snmp-v3.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Mojo::SNMP;
my $snmp = Mojo::SNMP->new;
my (@response, @error, $timeout, $finish);
plan skip_all => 'Crypt::DES is required' unless eval 'require Crypt::DES; 1';
plan skip_all => 'Digest::HMAC is required' unless eval 'require Digest::HMAC; 1';
plan skip_all => 'Digest::SHA1 is required' unless eval 'require Digest::SHA1; 1';
$snmp->concurrent(0); # required to set up the queue
$snmp->defaults({timeout => 1, community => 'public', username => 'foo'});
$snmp->prepare('1.2.3.5', {version => 3}, get => ['1.3.6.1.2.1.1.5.0']);
ok $snmp->{sessions}{'1.2.3.5|v3||foo'}, '1.2.3.5 v3 foo';
$snmp->prepare('*', get_next => '1.2.3');
( run in 0.288 second using v1.01-cache-2.11-cpan-9a3d99fc6dc )