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

cpanfile  view on Meta::CPAN

# 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";

t/basic.t  view on Meta::CPAN

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++ });

t/events.t  view on Meta::CPAN

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.409 second using v1.01-cache-2.11-cpan-9a3d99fc6dc )