diff --git a/test/lib.sh b/test/lib.sh index c8a29543..8baff1fd 100755 --- a/test/lib.sh +++ b/test/lib.sh @@ -254,18 +254,20 @@ if $SNMPCHECK; then name="$($snmptranslate $oid)" name2="$($snmptranslate $oid2)" - if [ $oid == $oid2 ]; then - new "Validating numerical OID: $oid2 = $type: $value" - expectpart "$($snmpget $oid)" 0 "$oid2 = $type: $value" - - new "Validating textual OID: $name2 = $type: $value" - expectpart "$($snmpgetstr $name)" 0 "$name2 = $type: $value" + if [[ $oid =~ ^([0-9]|\.)+$ ]]; then + get=$snmpget + getnext=$snmpgetnext else - new "Validating numerical next OID: $oid2 = $type: $value" - expectpart "$($snmpgetnext $oid)" 0 "$oid2 = $type: $value" + get=$snmpgetstr + getnext=$snmpgetnextstr + fi - new "Validating textual next OID: $name2 = $type: $value" - expectpart "$($snmpgetnextstr $name)" 0 "$name2 = $type: $value" + if [ $oid == $oid2 ]; then + new "Validating OID: $oid2 = $type: $value" + expectpart "$($get $oid)" 0 "$oid = $type: $value" + else + new "Validating next OID: $oid2 = $type: $value" + expectpart "$($getnext $oid)" 0 "$oid2 = $type: $value" fi } diff --git a/test/test_snmp_get.sh b/test/test_snmp_get.sh index 806c60fb..ff873060 100755 --- a/test/test_snmp_get.sh +++ b/test/test_snmp_get.sh @@ -151,54 +151,101 @@ OID21="${MIB}.2.2.1.3" # netSnmpHostAddress OID22="${MIB}.2.2.1.4" # netSnmpHostStorage OID23="${MIB}.2.2.1.5" # netSnmpHostRowStatus +NAME1="NET-SNMP-MIB::netSnmp.200.1.1" +NAME2="NET-SNMP-MIB::netSnmp.200.1.2" +NAME3="NET-SNMP-MIB::netSnmp.200.1.3" +NAME4="NET-SNMP-MIB::netSnmp.200.1.4" +NAME5="NET-SNMP-MIB::netSnmp.200.1.5" +NAME6="NET-SNMP-MIB::netSnmp.200.1.6" +NAME7="NET-SNMP-MIB::netSnmp.200.1.7" +NAME8="NET-SNMP-MIB::netSnmp.200.1.8" +NAME9="NET-SNMP-MIB::netSnmp.200.1.9" +NAME10="NET-SNMP-MIB::netSnmp.200.1.10" +NAME11="NET-SNMP-MIB::netSnmp.200.1.11" +NAME12="NET-SNMP-MIB::netSnmp.200.1.12" +NAME13="NET-SNMP-MIB::netSnmp.200.2.1" +NAME14="NET-SNMP-MIB::netSnmp.200.2.1.1" +NAME15="NET-SNMP-MIB::netSnmp.200.2.1.1.1" +NAME16="NET-SNMP-MIB::netSnmp.200.2.1.1.2" +NAME17="NET-SNMP-MIB::netSnmp.200.2.1.1.3" +NAME18="NET-SNMP-MIB::netSnmp.200.2.2" +NAME19="NET-SNMP-MIB::netSnmp.200.2.2.1.1" +NAME20="NET-SNMP-MIB::netSnmp.200.2.2.1.2" +NAME21="NET-SNMP-MIB::netSnmp.200.2.2.1.3" +NAME22="NET-SNMP-MIB::netSnmp.200.2.2.1.4" +NAME23="NET-SNMP-MIB::netSnmp.200.2.2.1.5" + new "$snmpget" new "Get netSnmpExampleInteger" validate_oid $OID1 $OID1 "INTEGER" 2147483647 validate_oid $OID1 $OID2 "INTEGER" -1 +validate_oid $NAME1 $NAME1 "INTEGER" 2147483647 +validate_oid $NAME1 $NAME2 "INTEGER" -1 new "Get netSnmpExampleSleeper" validate_oid $OID2 $OID2 "INTEGER" -1 validate_oid $OID2 $OID3 "STRING" "\"This is not default\"" +validate_oid $NAME2 $NAME2 "INTEGER" -1 +validate_oid $NAME2 $NAME3 "STRING" "\"This is not default\"" new "Get netSnmpExampleString" validate_oid $OID3 $OID3 "STRING" "\"This is not default\"" validate_oid $OID3 $OID4 "Timeticks" "(12345) 0:02:03.45" +validate_oid $NAME3 $NAME3 "STRING" "\"This is not default\"" +validate_oid $NAME3 $NAME4 "Timeticks" "(12345) 0:02:03.45" new "Get ifTableLastChange" validate_oid $OID4 $OID4 "Timeticks" "(12345) 0:02:03.45" validate_oid $OID4 $OID5 "INTEGER" 48 +validate_oid $NAME4 $NAME4 "Timeticks" "(12345) 0:02:03.45" +validate_oid $NAME4 $NAME5 "INTEGER" 48 new "Get ifType" validate_oid $OID5 $OID5 "INTEGER" 48 validate_oid $OID5 $OID6 "Gauge32" 123123123 +validate_oid $NAME5 $NAME5 "INTEGER" 48 +validate_oid $NAME5 $NAME6 "Gauge32" 123123123 new "Get ifSpeed" validate_oid $OID6 $OID6 "Gauge32" 123123123 validate_oid $OID6 $OID7 "INTEGER" 3 +validate_oid $NAME6 $NAME6 "Gauge32" 123123123 +validate_oid $NAME6 $NAME7 "INTEGER" 3 new "Get ifAdminStatus" validate_oid $OID7 $OID7 "INTEGER" 3 validate_oid $OID7 $OID8 "Counter32" 123456 +validate_oid $NAME7 $NAME7 "INTEGER" 3 +validate_oid $NAME7 $NAME8 "Counter32" 123456 new "Get ifInOctets" validate_oid $OID8 $OID8 "Counter32" 123456 validate_oid $OID8 $OID9 "Counter64" 4294967296 +validate_oid $NAME8 $NAME8 "Counter32" 123456 +validate_oid $NAME8 $NAME9 "Counter64" 4294967296 new "Get ifInHCOctets" validate_oid $OID9 $OID9 "Counter64" 4294967296 validate_oid $OID9 $OID10 "INTEGER" 1 +validate_oid $NAME9 $NAME9 "Counter64" 4294967296 +validate_oid $NAME9 $NAME10 "INTEGER" 1 new "Get ifPromiscuousMode" validate_oid $OID10 $OID10 "INTEGER" 1 validate_oid $OID10 $OID11 "Timeticks" "(1234567890) 142 days, 21:21:18.90" +validate_oid $NAME10 $NAME10 "INTEGER" 1 +validate_oid $NAME10 $NAME11 "Timeticks" "(1234567890) 142 days, 21:21:18.90" new "Get ifCounterDiscontinuityTime" validate_oid $OID11 $OID11 "Timeticks" "(1234567890) 142 days, 21:21:18.90" validate_oid $OID11 $OID12 "INTEGER" 1 +validate_oid $NAME11 $NAME11 "Timeticks" "(1234567890) 142 days, 21:21:18.90" +validate_oid $NAME11 $NAME12 "INTEGER" 1 new "Get ifStackStatus" validate_oid $OID12 $OID12 "INTEGER" 1 +validate_oid $NAME12 $NAME12 "INTEGER" 1 new "Get bulk OIDs" expectpart "$($snmpbulkget $OID1)" 0 "$OID2 = INTEGER: -1" "$OID3 = STRING: \"This is not default\"" "$OID4 = Timeticks: (12345) 0:02:03.45" "$OID5 = INTEGER: 48" "$OID6 = Gauge32: 123123123" "$OID7 = INTEGER: 3" "$OID8 = Counter32: 123456" "$OID9 = Counter64: 4294967296" "$OID10 = INTEGER: 1" "$OID11 = Timeticks: (1234567890) 142 days, 21:21:18.90" diff --git a/test/test_snmp_set.sh b/test/test_snmp_set.sh index 784789ff..f543ae09 100755 --- a/test/test_snmp_set.sh +++ b/test/test_snmp_set.sh @@ -137,37 +137,44 @@ OID21="${MIB}.2.2.1.3" # netSnmpHostAddress OID22="${MIB}.2.2.1.4" # netSnmpHostStorage OID23="${MIB}.2.2.1.5" # netSnmpHostRowStatus +new "Setting netSnmpExampleInteger" validate_set $OID1 "INTEGER" 1234 validate_oid $OID1 $OID1 "INTEGER" 1234 +new "Setting netSnmpExampleSleeper" validate_set $OID2 "INTEGER" -1 validate_oid $OID2 $OID2 "INTEGER" -1 - + new "Set new value via NETCONF" expecteof_netconf "$clixon_netconf -qf $cfg" 0 "$DEFAULTHELLO" "none999" "" "" new "netconf commit" expecteof_netconf "$clixon_netconf -qf $cfg" 0 "$DEFAULTHELLO" "" "" "" +new "Validate value set from NETCONF" validate_oid $OID1 $OID1 "INTEGER" 999 +new "Setting netSnmpExampleString" validate_oid $OID3 $OID3 "STRING" "\"So long, and thanks for all the fish!\"" validate_set $OID3 "STRING" "foo bar" validate_oid $OID3 $OID3 "STRING" "\"foo bar\"" +# new "Setting column nsIETFWGChair1" # validate_set $OID16 "STRING" "asd" # validate_oid $OID16 $OID16 "STRING" "asd" - + +# new "Setting column nsIETFWGChair2" # validate_set $OID17 "STRING" "asd" # validate_oid $OID17 $OID16 "STRING" "asdasd" +# new "Setting column netSnmpHostName" # validate_set $OID19 "STRING" "asd" # validate_oid $OID19 $OID19 "STRING" "asdasd" +# new "Setting netSnmpHostName" # validate_set $OID20 "STRING" ipv6 # validate_oid $OID20 $OID20 "STRING" "asdasd" - new "Cleaning up" testexit diff --git a/test/test_snmp_system.sh b/test/test_snmp_system.sh index fb8e1b35..dcce38dd 100755 --- a/test/test_snmp_system.sh +++ b/test/test_snmp_system.sh @@ -124,63 +124,89 @@ new "SNMP tests" testinit OID_SYS=".1.3.6.1.2.1.1" -OID_DESCR=".1.3.6.1.2.1.1.1" -OID_UPTIME=".1.3.6.1.2.1.1.3" -OID_CONTACT=".1.3.6.1.2.1.1.4" -OID_LOCATION=".1.3.6.1.2.1.1.6" -OID_SYSNAME=".1.3.6.1.2.1.1.5" -OID_SERVICES=".1.3.6.1.2.1.1.7" -OID_ORTABLE=".1.3.6.1.2.1.1.9" +OID_DESCR="${OID_SYS}.1" +OID_UPTIME="${OID_SYS}.3" +OID_CONTACT="${OID_SYS}.4" +OID_SYSNAME="${OID_SYS}.5" +OID_LOCATION="${OID_SYS}.6" +OID_SERVICES="${OID_SYS}.7" +OID_ORTABLE="${OID_SYS}.9" +OID_ORTABLE1_IDX="${OID_SYS}.9.1.1.1" +OID_ORTABLE2_IDX="${OID_SYS}.9.1.1.2" +OID_ORTABLE1="${OID_SYS}.9.1.3.1" +OID_ORTABLE2="${OID_SYS}.9.1.3.2" -OID_ORTABLE1_IDX=".1.3.6.1.2.1.1.9.1.1.1" -OID_ORTABLE2_IDX=".1.3.6.1.2.1.1.9.1.1.2" -OID_ORTABLE1=".1.3.6.1.2.1.1.9.1.3.1" -OID_ORTABLE2=".1.3.6.1.2.1.1.9.1.3.2" +NAME_DESCR="SNMPv2-MIB::sysDescr" +NAME_UPTIME="SNMPv2-MIB::sysUpTime" +NAME_CONTACT="SNMPv2-MIB::sysContact" +NAME_SYSNAME="SNMPv2-MIB::sysName" +NAME_LOCATION="SNMPv2-MIB::sysLocation" +NAME_SERVICES="SNMPv2-MIB::sysServices" +NAME_ORTABLE="SNMPv2-MIB::sysORTable" +NAME_ORTABLE1_IDX="SNMPv2-MIB::sysORIndex.1" +NAME_ORTABLE2_IDX="SNMPv2-MIB::sysORIndex.2" +NAME_ORTABLE1="SNMPv2-MIB::sysORDescr.1" +NAME_ORTABLE2="SNMPv2-MIB::sysORDescr.2" new "Get description, $OID_DESCR" -expectpart "$($snmpget $OID_DESCR)" 0 "$OID_DESCR = STRING: System description" +validate_oid $OID_DESCR $OID_DESCR "STRING" "System description" +validate_oid $NAME_DESCR $NAME_DESCR "STRING" "System description" new "Get next $OID_DESCR" -expectpart "$($snmpgetnext $OID_DESCR)" 0 "$OID_UPTIME = Timeticks: (11223344) 1 day, 7:10:33.44" +validate_oid $OID_DESCR $OID_UPTIME "Timeticks" "(11223344) 1 day, 7:10:33.44" +validate_oid $NAME_DESCR $NAME_UPTIME "Timeticks" "(11223344) 1 day, 7:10:33.44" new "Get contact, $OID_CONTACT" -expectpart "$($snmpget $OID_CONTACT)" 0 "$OID_CONTACT = STRING: clixon@clicon.com" +validate_oid $OID_CONTACT $OID_CONTACT "STRING" "clixon@clicon.com" +validate_oid $NAME_CONTACT $NAME_CONTACT "STRING" "clixon@clicon.com" new "Get next OID after contact $OID_CONTACT" -expectpart "$($snmpgetnext $OID_CONTACT)" 0 "$OID_SYSNAME = STRING: Test" +validate_oid $OID_CONTACT $OID_SYSNAME "STRING" "Test" +validate_oid $NAME_CONTACT $NAME_SYSNAME "STRING" "Test" new "Get sysName $OID_SYSNAME" -expectpart "$($snmpget $OID_SYSNAME)" 0 "$OID_SYSNAME = STRING: Test" +validate_oid $OID_SYSNAME $OID_SYSNAME "STRING" "Test" +validate_oid $NAME_SYSNAME $NAME_SYSNAME "STRING" "Test" new "Get next OID after sysName $OID_SYSNAME" -expectpart "$($snmpgetnext $OID_SYSNAME)" 0 "$OID_LOCATION = STRING: Clixon HQ" +validate_oid $OID_SYSNAME $OID_LOCATION "STRING" "Clixon HQ" +validate_oid $NAME_SYSNAME $NAME_LOCATION "STRING" "Clixon HQ" new "Get sysLocation $OID_LOCATION" -expectpart "$($snmpget $OID_LOCATION)" 0 "$OID_LOCATION = STRING: Clixon HQ" +validate_oid $OID_LOCATION $OID_LOCATION "STRING" "Clixon HQ" +validate_oid $NAME_LOCATION $NAME_LOCATION "STRING" "Clixon HQ" new "Get next OID after sysLocation $OID_LOCATION" -expectpart "$($snmpgetnext $OID_LOCATION)" 0 "$OID_SERVICES = INTEGER: 72" +validate_oid $OID_LOCATION $OID_SERVICES "INTEGER" 72 +validate_oid $NAME_LOCATION $NAME_SERVICES "INTEGER" 72 new "Get sysServices $OID_SERVICES" -expectpart "$($snmpget $OID_SERVICES)" 0 "$OID_SERVICES = INTEGER: 72" +validate_oid $OID_SERVICES $OID_SERVICES "INTEGER" "72" +validate_oid $NAME_SERVICES $NAME_SERVICES "INTEGER" "72" new "Get next OID after sysServices $OID_SERVICES" -expectpart "$($snmpgetnext $OID_SERVICES)" 0 "$OID_ORTABLE1_IDX = INTEGER: 1" +validate_oid $OID_SERVICES $OID_ORTABLE1_IDX "INTEGER" 1 +validate_oid $NAME_SERVICES $NAME_ORTABLE1_IDX "INTEGER" 1 new "Get first index of OR table $OID_ORTABLE1_IDX" -expectpart "$($snmpget $OID_ORTABLE1_IDX)" 0 "$OID_ORTABLE1_IDX = INTEGER: 1" +validate_oid $OID_ORTABLE1_IDX $OID_ORTABLE1_IDX "INTEGER" 1 +validate_oid $NAME_ORTABLE1_IDX $NAME_ORTABLE1_IDX "INTEGER" 1 new "Get next OID after index $OID_ORTABLE1_IDX" -expectpart "$($snmpgetnext $OID_ORTABLE1_IDX)" 0 "$OID_ORTABLE2_IDX = INTEGER: 2" +validate_oid $OID_ORTABLE1_IDX $OID_ORTABLE2_IDX "INTEGER" 2 +validate_oid $NAME_ORTABLE1_IDX $NAME_ORTABLE2_IDX "INTEGER" 2 new "Get second index $OID_ORTABLE2_IDX" -expectpart "$($snmpget $OID_ORTABLE2_IDX)" 0 "$OID_ORTABLE2_IDX = INTEGER: 2" +validate_oid $OID_ORTABLE2_IDX $OID_ORTABLE2_IDX "INTEGER" 2 +validate_oid $NAME_ORTABLE2_IDX $NAME_ORTABLE2_IDX "INTEGER" 2 new "Get sysORTable, entry 1 $OID_ORTABLE1" -expectpart "$($snmpget $OID_ORTABLE1)" 0 "STRING: Entry 1 description" +validate_oid $OID_ORTABLE1 $OID_ORTABLE1 "STRING" "Entry 1 description" +validate_oid $NAME_ORTABLE1 $NAME_ORTABLE1 "STRING" "Entry 1 description" new "Get sysORTable, entry 2 $OID_ORTABLE2" -expectpart "$($snmpget $OID_ORTABLE2)" 0 "STRING: Entry 2 description" +validate_oid $OID_ORTABLE2 $OID_ORTABLE2 "STRING" "Entry 2 description" +validate_oid $NAME_ORTABLE2 $NAME_ORTABLE2 "STRING" "Entry 2 description" new "Get table sysORTable $OID_ORTABLE" expectpart "$($snmptable $OID_ORTABLE)" 0 ".*Entry 1 description.*" "IP-MIB::ip" "1:7:10:33.44"