Validate both numerical and lexical OIDs.
This commit is contained in:
parent
2e529290ea
commit
a3d0b74e4b
4 changed files with 121 additions and 39 deletions
22
test/lib.sh
22
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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -137,9 +137,11 @@ 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
|
||||
|
||||
|
|
@ -149,25 +151,30 @@ expecteof_netconf "$clixon_netconf -qf $cfg" 0 "$DEFAULTHELLO" "<rpc $DEFAULTNS>
|
|||
new "netconf commit"
|
||||
expecteof_netconf "$clixon_netconf -qf $cfg" 0 "$DEFAULTHELLO" "<rpc $DEFAULTNS><commit/></rpc>" "" "<rpc-reply $DEFAULTNS><ok/></rpc-reply>"
|
||||
|
||||
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
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue