package NetSNMPTestTransport;

use strict;
use warnings;
use NetSNMPTest;
use Test;
use SNMP;

our @ISA = qw(NetSNMPTest);

sub run_tests {
    my ($self) = @_;

    plan(tests => 2);

    # set it up with a snmpv3 USM user
    $self->config_agent("createuser testuser MD5 notareallpassword");
    $self->config_agent("rwuser testuser");
    $self->config_agent("syscontact itworked");

    $self->DIE("failed to start the agent") if (!$self->start_agent());

    # now create a session to test things with
    my $session = new SNMP::Session(DestHost => $self->{'agentaddress'},
				    Version => '3',
				    SecName => 'testuser',
				    SecLevel => 'authNoPriv',
				    AuthProto => 'MD5',
				    AuthPass => 'notareallpassword');

    ok(ref($session), 'SNMP::Session', "created a session");

    ######################################################################
    # GET test
    if (ref($session) eq 'SNMP::Session') {
	my $value = $session->get('sysContact.0');
	ok($value, 'itworked');
    }

    ######################################################################
    # cleanup
    $self->stop_agent();
}


1;
