def test_start_apc_agent():
    # start the testagent (APC walk)
    # TimeTicks does not work - Replaced TimeTicks value by INTEGER
    # some of the values are not from a walk - I modified them to have the return values I need (critical etc.)
    # For now left out external temperature sensor oids as no data in snmpwalk
    # apc_oid_environment_temperature     = apc_oid_base + ".1.1.10.2.3.2.1.4.1"
    # apc_oid_environment_temperature_unit= apc_oid_base + ".1.1.10.2.3.2.1.5"
    # TODO add this data

    walk = '''
        1.3.6.1.4.1.318.1.1.1.2.1.1.0 = INTEGER: 2
        1.3.6.1.4.1.318.1.1.1.2.1.2.0 = INTEGER: 60000
        1.3.6.1.4.1.318.1.1.1.2.2.1.0 = INTEGER: 80
        1.3.6.1.4.1.318.1.1.1.2.2.2.0 = INTEGER: 26
        1.3.6.1.4.1.318.1.1.1.2.2.3.0 = INTEGER: 120000
        1.3.6.1.4.1.318.1.1.1.2.2.4.0 = INTEGER: 1
        1.3.6.1.4.1.318.1.1.1.3.2.1.0 = INTEGER: 113
        1.3.6.1.4.1.318.1.1.1.3.2.2.0 = INTEGER: 115
        1.3.6.1.4.1.318.1.1.1.3.2.3.0 = INTEGER: 113
        1.3.6.1.4.1.318.1.1.1.3.2.4.0 = INTEGER: 49
        1.3.6.1.4.1.318.1.1.1.4.2.1.0 = INTEGER: 230
        1.3.6.1.4.1.318.1.1.1.4.2.2.0 = INTEGER: 49
        1.3.6.1.4.1.318.1.1.1.4.2.3.0 = INTEGER: 18
        1.3.6.1.4.1.318.1.1.1.4.2.4.0 = INTEGER: 1
        1.3.6.1.4.1.318.1.1.1.4.2.6.0 = INTEGER: 3
        1.3.6.1.4.1.318.1.1.1.4.2.8.0 = INTEGER: 123
        1.3.6.1.4.1.318.1.1.1.7.2.3.0 = INTEGER: 3
        1.3.6.1.4.1.318.1.1.10.2.3.2.1.4.1.0 = INTEGER: 25
        1.3.6.1.4.1.318.1.1.10.2.3.2.1.5.0 = INTEGER: 1
        '''
    testagent.register_snmpwalk_ouput(walk)
    testagent.start_server()
def test_start_apc_agent():
    # start the testagent (APC walk)
    # TimeTicks does not work - Replaced TimeTicks value by INTEGER
    # some of the values are not from a walk - I modified them to have the return values I need (critical etc.)
    # For now left out external temperature sensor oids as no data in snmpwalk
    # apc_oid_environment_temperature     = apc_oid_base + ".1.1.10.2.3.2.1.4.1"
    # apc_oid_environment_temperature_unit= apc_oid_base + ".1.1.10.2.3.2.1.5"
    # TODO add this data

    walk =  '''
        1.3.6.1.4.1.318.1.1.1.2.1.1.0 = INTEGER: 2
        1.3.6.1.4.1.318.1.1.1.2.1.2.0 = INTEGER: 60000
        1.3.6.1.4.1.318.1.1.1.2.2.1.0 = INTEGER: 80
        1.3.6.1.4.1.318.1.1.1.2.2.2.0 = INTEGER: 26
        1.3.6.1.4.1.318.1.1.1.2.2.3.0 = INTEGER: 120000
        1.3.6.1.4.1.318.1.1.1.2.2.4.0 = INTEGER: 1
        1.3.6.1.4.1.318.1.1.1.3.2.1.0 = INTEGER: 113
        1.3.6.1.4.1.318.1.1.1.3.2.2.0 = INTEGER: 115
        1.3.6.1.4.1.318.1.1.1.3.2.3.0 = INTEGER: 113
        1.3.6.1.4.1.318.1.1.1.3.2.4.0 = INTEGER: 49
        1.3.6.1.4.1.318.1.1.1.4.2.1.0 = INTEGER: 230
        1.3.6.1.4.1.318.1.1.1.4.2.2.0 = INTEGER: 49
        1.3.6.1.4.1.318.1.1.1.4.2.3.0 = INTEGER: 18
        1.3.6.1.4.1.318.1.1.1.4.2.4.0 = INTEGER: 1
        1.3.6.1.4.1.318.1.1.1.4.2.6.0 = INTEGER: 3
        1.3.6.1.4.1.318.1.1.1.4.2.8.0 = INTEGER: 123
        1.3.6.1.4.1.318.1.1.1.7.2.3.0 = INTEGER: 3
        1.3.6.1.4.1.318.1.1.10.2.3.2.1.4.1.0 = INTEGER: 25
        1.3.6.1.4.1.318.1.1.10.2.3.2.1.5.0 = INTEGER: 1
        '''   
    testagent.register_snmpwalk_ouput(walk)
    testagent.start_server()
def test_start_snmp_simulation():
    testagent.start_server()
def test_start_server():
    testagent.start_server()
def test_start_eaton_agent():
    # start the testagent (Eaton walk)
    # Gauge32 are not working - So I replaced them by INTEGER
    # some of the values are not from a walk - I modified them to have the return values I need (critical etc.)
    #
    # TODO Open issues
    # - SNMP Walk does not contain data for OID iso.3.6.1.4.1.534.1.6.1.0
    # as there was no remote temperature sensor connected to the device.
    # Manually added oid and value

    # upsSecondsOnBattery
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.2.2.0 = INTEGER: 60''')
    # upsEstimatedMinutesRemaining
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.2.3.0 = INTEGER: 30''')
    # upsInputFrequency
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.3.3.1.2.1 = INTEGER: 500
        iso.3.6.1.2.1.33.1.3.3.1.2.2 = INTEGER: 500
        iso.3.6.1.2.1.33.1.3.3.1.2.3 = INTEGER: 500''')
    # upsInputVoltage
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.3.3.1.3.1 = INTEGER: 230
        iso.3.6.1.2.1.33.1.3.3.1.3.2 = INTEGER: 230
        iso.3.6.1.2.1.33.1.3.3.1.3.3 = INTEGER: 230
        iso.3.6.1.2.1.33.1.3.3.1.3.4 = INTEGER: 400
        iso.3.6.1.2.1.33.1.3.3.1.3.5 = INTEGER: 400
        iso.3.6.1.2.1.33.1.3.3.1.3.6 = INTEGER: 400       
        ''')
    # upsOutputVoltage
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.4.4.1.2.1 = INTEGER: 229
        iso.3.6.1.2.1.33.1.4.4.1.2.2 = INTEGER: 229
        iso.3.6.1.2.1.33.1.4.4.1.2.3 = INTEGER: 229
        iso.3.6.1.2.1.33.1.4.4.1.2.4 = INTEGER: 229
        iso.3.6.1.2.1.33.1.4.4.1.2.5 = INTEGER: 229
        iso.3.6.1.2.1.33.1.4.4.1.2.6 = INTEGER: 229
        ''')
    # upsOutputCurrent
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.4.4.1.3.1 = INTEGER: 20
        iso.3.6.1.2.1.33.1.4.4.1.3.2 = INTEGER: 20
        iso.3.6.1.2.1.33.1.4.4.1.3.3 = INTEGER: 20''')
    # upsOutputPower
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.4.4.1.4.1 = INTEGER: 536
        iso.3.6.1.2.1.33.1.4.4.1.4.2 = INTEGER: 536
        iso.3.6.1.2.1.33.1.4.4.1.4.3 = INTEGER: 536''')
    # upsOutputPercentLoad
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.4.4.1.5.1 = INTEGER: 19
        iso.3.6.1.2.1.33.1.4.4.1.5.2 = INTEGER: 19
        iso.3.6.1.2.1.33.1.4.4.1.5.3 = INTEGER: 19''')
    # upsAlarmsPresent
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.6.1.0 = INTEGER: 0''')
    # upsTestResultsSummary
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.7.3.0 = INTEGER: 1''')
    # upsTestResultsDetail
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.2.1.33.1.7.4.0 = STRING: ""''')
    # xupsBatCapacity
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.4.1.534.1.2.4.0 = INTEGER: 80''')
    # xupsEnvAmbientTemp
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.4.1.534.1.6.1.0 = INTEGER: 26''')
    # xupsEnvRemoteTemp
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.4.1.534.1.6.5.0 = INTEGER: 26''')
    # upsmgBatteryFaultBattery
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.4.1.705.1.5.9.0 = INTEGER: 2''')
    # upsmgBatteryReplacement
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.4.1.705.1.5.11.0 = INTEGER: 2''')
    # upsmgBatteryLowBattery
    testagent.register_snmpwalk_ouput(
        '''iso.3.6.1.4.1.705.1.5.14.0 = INTEGER: 2''')

    testagent.start_server()
def test_start_server():
    testagent.start_server()
import context
import subprocess
import testagent

testagent.configure(agent_address = "localhost:1234",
    rocommunity='public', rwcommunity='private')
testagent.start_server()

def notest_mib_not_reachable():
    p=subprocess.Popen(("health_monitoring_plugins/check_microwavemodem/check_microwavemodem.py -H 127.0.0.1:1234 -m SK-IP"),
                       shell=True, stdout=subprocess.PIPE, env=context.testenv)
    assert p.stdout.read() == "Unknown - SNMP response incomplete or invalid\n"
    p=subprocess.Popen(("health_monitoring_plugins/check_microwavemodem/check_microwavemodem.py -H 127.0.0.1:1234 -m AX-60"),
                       shell=True, stdout=subprocess.PIPE, env=context.testenv)
    assert p.stdout.read() == "Unknown - SNMP response incomplete or invalid\n"

def test_all_good():
    walk =  '''.1.3.6.1.4.1.29890.1.6.2.4.3.8.0 = INTEGER: 40
               .1.3.6.1.4.1.29890.1.6.2.4.3.9.0 = INTEGER: 40
               .1.3.6.1.4.1.29890.1.6.2.4.3.5.0 = INTEGER: 40
               .1.3.6.1.4.1.29890.1.6.2.4.3.6.0 = INTEGER: 40
               .1.3.6.1.4.1.29890.1.6.2.4.3.4.0 = INTEGER: 40
               .1.3.6.1.4.1.29890.1.6.2.4.3.7.0 = INTEGER: 40
               .1.3.6.1.4.1.29890.1.6.2.4.3.1.0 = INTEGER: 40
               .1.3.6.1.4.1.29890.1.6.2.4.4.2.1.0 = INTEGER: 100
               .1.3.6.1.4.1.29890.1.6.2.4.4.2.2.0 = INTEGER: 120
               .1.3.6.1.4.1.29890.1.6.2.4.4.2.3.0 = INTEGER: 250
               .1.3.6.1.4.1.29890.1.6.2.4.4.2.4.0 = INTEGER: 250
               .1.3.6.1.4.1.29890.1.6.2.4.4.2.5.0 = INTEGER: 330
               .1.3.6.1.4.1.29890.1.6.2.4.4.2.6.0 = INTEGER: 500
               .1.3.6.1.4.1.29890.1.6.2.4.4.2.7.0 = INTEGER: 900
Ejemplo n.º 8
0
 def setUpClass(cls):
     setup_oids()
     testagent.start_server()
def test_start_snmp_simulation():
    # start the testagent (Raritan walk)
    # Gauge32 are not working - So I replaced them by INTEGER
    # some of the values are not from a walk - I modified them to have the return values I need (critical etc.)
    walk =  '''iso.3.6.1.4.1.13742.6.5.2.3.1.4.1.1.1 = INTEGER: 61
                iso.3.6.1.4.1.13742.6.5.2.3.1.4.1.1.4 = INTEGER: 230
                iso.3.6.1.4.1.13742.6.5.2.3.1.4.1.1.5 = INTEGER: 1357
                iso.3.6.1.4.1.13742.6.5.2.3.1.4.1.1.6 = INTEGER: 1400
                iso.3.6.1.4.1.13742.6.5.2.3.1.4.1.1.7 = INTEGER: 97
                iso.3.6.1.4.1.13742.6.5.2.3.1.4.1.1.8 = INTEGER: 8574135
                iso.3.6.1.4.1.13742.6.3.3.4.1.6.1.1.1 = INTEGER: 2
                iso.3.6.1.4.1.13742.6.3.3.4.1.6.1.1.4 = INTEGER: 1
                iso.3.6.1.4.1.13742.6.3.3.4.1.6.1.1.5 = INTEGER: 3
                iso.3.6.1.4.1.13742.6.3.3.4.1.6.1.1.6 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.3.3.4.1.6.1.1.7 = INTEGER: -1
                iso.3.6.1.4.1.13742.6.3.3.4.1.6.1.1.8 = INTEGER: 5
                iso.3.6.1.4.1.13742.6.3.3.4.1.7.1.1.1 = INTEGER: 1
                iso.3.6.1.4.1.13742.6.3.3.4.1.7.1.1.4 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.7.1.1.5 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.7.1.1.6 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.7.1.1.7 = INTEGER: 2
                iso.3.6.1.4.1.13742.6.3.3.4.1.7.1.1.8 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.5.2.3.1.3.1.1.1 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.5.2.3.1.3.1.1.4 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.5.2.3.1.3.1.1.5 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.5.2.3.1.3.1.1.6 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.5.2.3.1.3.1.1.7 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.5.2.3.1.3.1.1.8 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.3.3.4.1.24.1.1.1 = INTEGER: 104
                iso.3.6.1.4.1.13742.6.3.3.4.1.24.1.1.4 = INTEGER: 247
                iso.3.6.1.4.1.13742.6.3.3.4.1.24.1.1.5 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.24.1.1.6 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.24.1.1.7 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.24.1.1.8 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.21.1.1.1 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.21.1.1.4 = INTEGER: 188
                iso.3.6.1.4.1.13742.6.3.3.4.1.21.1.1.5 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.21.1.1.6 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.21.1.1.7 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.21.1.1.8 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.22.1.1.1 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.22.1.1.4 = INTEGER: 194
                iso.3.6.1.4.1.13742.6.3.3.4.1.22.1.1.5 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.22.1.1.6 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.22.1.1.7 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.22.1.1.8 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.23.1.1.1 = INTEGER: 128
                iso.3.6.1.4.1.13742.6.3.3.4.1.23.1.1.4 = INTEGER: 254
                iso.3.6.1.4.1.13742.6.3.3.4.1.23.1.1.5 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.23.1.1.6 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.23.1.1.7 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.3.4.1.23.1.1.8 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.1 = STRING: "frei"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.2 = STRING: "Switch"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.3 = STRING: "frei"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.4 = STRING: "frei"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.5 = STRING: "frei"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.6 = STRING: "Switch Test 1"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.7 = STRING: "Switch Test 2"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.8 = STRING: "Switch Test 3"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.9 = STRING: "Switch Test 4"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.10 = STRING: "Switch Test 5"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.11 = STRING: "Switch"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.12 = STRING: "Switch"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.13 = STRING: "Switch C1"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.14 = STRING: "Switch C2"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.15 = STRING: "Switch"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.16 = STRING: "Switch 1"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.17 = STRING: "Switch 2"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.18 = STRING: "Switch 1"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.19 = STRING: "Switch 2"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.20 = STRING: "frei"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.21 = STRING: "Switch"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.22 = STRING: "Switch"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.23 = STRING: "frei"
                iso.3.6.1.4.1.13742.6.3.5.3.1.3.1.24 = STRING: ""
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.1.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.2.14 = INTEGER: 8
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.3.14 = INTEGER: -1
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.4.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.5.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.6.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.7.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.8.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.9.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.10.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.11.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.12.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.13.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.14.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.15.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.16.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.17.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.18.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.19.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.20.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.21.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.22.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.23.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.5.4.3.1.3.1.24.14 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.3.6.3.1.4.1.2 = STRING: "Tuerkontakt"
                iso.3.6.1.4.1.13742.6.3.6.3.1.4.1.3 = STRING: "External Sensor 3"
                iso.3.6.1.4.1.13742.6.3.6.3.1.4.1.4 = STRING: "On/Off 1"
                iso.3.6.1.4.1.13742.6.3.6.3.1.4.1.5 = STRING: "Temperature Rack 3"
                iso.3.6.1.4.1.13742.6.3.6.3.1.4.1.6 = STRING: "Humidity 1"
                iso.3.6.1.4.1.13742.6.3.6.3.1.4.1.7 = STRING: "Temperature 2"
                iso.3.6.1.4.1.13742.6.3.6.3.1.4.1.8 = STRING: "Air Pressure 1"
                iso.3.6.1.4.1.13742.6.3.6.3.1.4.1.9 = STRING: "Broken"
                iso.3.6.1.4.1.13742.6.5.5.3.1.3.1.2 = INTEGER: 11
                iso.3.6.1.4.1.13742.6.5.5.3.1.3.1.3 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.5.5.3.1.3.1.4 = INTEGER: 11
                iso.3.6.1.4.1.13742.6.5.5.3.1.3.1.5 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.5.5.3.1.3.1.6 = INTEGER: 6
                iso.3.6.1.4.1.13742.6.5.5.3.1.3.1.7 = INTEGER: 3
                iso.3.6.1.4.1.13742.6.5.5.3.1.3.1.8 = INTEGER: 4
                iso.3.6.1.4.1.13742.6.5.5.3.1.3.1.9 = INTEGER: 999
                iso.3.6.1.4.1.13742.6.3.6.3.1.16.1.2 = INTEGER: -1
                iso.3.6.1.4.1.13742.6.3.6.3.1.16.1.3 = INTEGER: -1
                iso.3.6.1.4.1.13742.6.3.6.3.1.16.1.4 = INTEGER: -1
                iso.3.6.1.4.1.13742.6.3.6.3.1.16.1.5 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.3.6.3.1.16.1.6 = INTEGER: 9
                iso.3.6.1.4.1.13742.6.3.6.3.1.16.1.7 = INTEGER: 7
                iso.3.6.1.4.1.13742.6.3.6.3.1.16.1.8 = INTEGER: 11
                iso.3.6.1.4.1.13742.6.5.5.3.1.4.1.2 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.5.5.3.1.4.1.3 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.5.5.3.1.4.1.4 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.5.5.3.1.4.1.5 = INTEGER: 215
                iso.3.6.1.4.1.13742.6.5.5.3.1.4.1.6 = INTEGER: 45
                iso.3.6.1.4.1.13742.6.5.5.3.1.4.1.7 = INTEGER: 221
                iso.3.6.1.4.1.13742.6.5.5.3.1.4.1.8 = INTEGER: 1
                iso.3.6.1.4.1.13742.6.3.6.3.1.17.1.2 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.17.1.3 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.17.1.4 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.17.1.5 = INTEGER: 1
                iso.3.6.1.4.1.13742.6.3.6.3.1.17.1.6 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.17.1.7 = INTEGER: 1
                iso.3.6.1.4.1.13742.6.3.6.3.1.17.1.8 = INTEGER: 1
                iso.3.6.1.4.1.13742.6.3.6.3.1.2.1.2 = INTEGER: 14
                iso.3.6.1.4.1.13742.6.3.6.3.1.2.1.3 = INTEGER: 14
                iso.3.6.1.4.1.13742.6.3.6.3.1.2.1.4 = INTEGER: 14
                iso.3.6.1.4.1.13742.6.3.6.3.1.2.1.5 = INTEGER: 10
                iso.3.6.1.4.1.13742.6.3.6.3.1.2.1.6 = INTEGER: 11
                iso.3.6.1.4.1.13742.6.3.6.3.1.2.1.7 = INTEGER: 10
                iso.3.6.1.4.1.13742.6.3.6.3.1.2.1.8 = INTEGER: 13
                iso.3.6.1.4.1.13742.6.3.6.3.1.2.1.9 = INTEGER: 991
                iso.3.6.1.4.1.13742.6.3.6.3.1.31.1.2 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.31.1.3 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.31.1.4 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.31.1.5 = INTEGER: 150
                iso.3.6.1.4.1.13742.6.3.6.3.1.31.1.6 = INTEGER: 10
                iso.3.6.1.4.1.13742.6.3.6.3.1.31.1.7 = INTEGER: 150
                iso.3.6.1.4.1.13742.6.3.6.3.1.31.1.8 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.32.1.2 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.32.1.3 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.32.1.4 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.32.1.5 = INTEGER: 180
                iso.3.6.1.4.1.13742.6.3.6.3.1.32.1.6 = INTEGER: 15
                iso.3.6.1.4.1.13742.6.3.6.3.1.32.1.7 = INTEGER: 200
                iso.3.6.1.4.1.13742.6.3.6.3.1.32.1.8 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.33.1.2 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.33.1.3 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.33.1.4 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.33.1.5 = INTEGER: 310
                iso.3.6.1.4.1.13742.6.3.6.3.1.33.1.6 = INTEGER: 80
                iso.3.6.1.4.1.13742.6.3.6.3.1.33.1.7 = INTEGER: 320
                iso.3.6.1.4.1.13742.6.3.6.3.1.33.1.8 = INTEGER: 1000
                iso.3.6.1.4.1.13742.6.3.6.3.1.34.1.2 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.34.1.3 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.34.1.4 = INTEGER: 0
                iso.3.6.1.4.1.13742.6.3.6.3.1.34.1.5 = INTEGER: 270
                iso.3.6.1.4.1.13742.6.3.6.3.1.34.1.6 = INTEGER: 70
                iso.3.6.1.4.1.13742.6.3.6.3.1.34.1.7 = INTEGER: 280
                iso.3.6.1.4.1.13742.6.3.6.3.1.34.1.8 = INTEGER: 800'''
    testagent.register_snmpwalk_ouput(walk)
    testagent.start_server()
import context
import subprocess
import testagent

testagent.configure(agent_address="localhost:1234",
                    rocommunity='public',
                    rwcommunity='private')
testagent.start_server()


def test_mib_not_reachable():
    p = subprocess.Popen(
        "health_monitoring_plugins/check_newtecmodem/check_newtecmodem.py -H 127.0.0.1:1234 -m MDM6000",
        shell=True,
        stdout=subprocess.PIPE,
        env=context.testenv)
    p.wait()
    assert p.returncode == 3
    assert p.stdout.read() == "Unknown - SNMP response incomplete or invalid\n"
    p = subprocess.Popen(
        "health_monitoring_plugins/check_newtecmodem/check_newtecmodem.py -H 127.0.0.1:1234 -m MDM6000",
        shell=True,
        stdout=subprocess.PIPE,
        env=context.testenv)
    p.wait()
    assert p.returncode == 3
    assert p.stdout.read() == "Unknown - SNMP response incomplete or invalid\n"


def test_all_good():
    walk = '''.1.3.6.1.4.1.5835.5.2.5700.1.3.3.0 = INTEGER: 0