def test_winperf_if_parse_sections(): winperf_if.parse_winperf_if(IF_SECTION + [ [u'Node', u'MACAddress', u'Name', u'NetConnectionID', u'NetConnectionStatus'], [u'NODE1', u'', u'WAN Miniport (L2TP)', u'', u''], [u'NODE1', u'', u'WAN Miniport (SSTP)', u'', u''], [u'NODE1', u'', u'WAN Miniport (IKEv2)', u'', u''], [u'NODE1', u'', u'WAN Miniport (PPTP)', u'', u''], [u'NODE1', u'', u'WAN Miniport (PPPOE)', u'', u''], [u'NODE1', u'', u'WAN Miniport (IP)', u'', u''], [u'NODE1', u'', u'WAN Miniport (IPv6)', u'', u''], [u'NODE1', u'', u'WAN Miniport (Network Monitor)', u'', u''], [u'NODE1', u'', u'Hyper-V Virtual Ethernet Adapter', u'', u''], [u'NODE1', u'', u'Microsoft Kernel Debug Network Adapter', u'', u''], [u'NODE1', u'', u'RAS Async Adapter', u'', u''], [u'NODE1', u'', u'Broadcom NetXtreme Gigabit Ethernet', u'SLOT 3 Port 1', u'4'], [u'NODE1', u'', u'Broadcom NetXtreme Gigabit Ethernet', u'SLOT 3 Port 2', u'4'], [ u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Broadcom BCM57800 NetXtreme II 10 GigE (NDIS VBD Client)', u'NIC2', u'2' ], [u'NODE1', u'', u'Broadcom NetXtreme Gigabit Ethernet', u'SLOT 3 Port 4', u'4'], [u'NODE1', u'', u'Broadcom NetXtreme Gigabit Ethernet', u'SLOT 3 Port 3', u'4'], [u'NODE1', u'', u'Broadcom BCM57800 NetXtreme II 1 GigE (NDIS VBD Client)', u'NIC4', u'4'], [u'NODE1', u'', u'Broadcom BCM57800 NetXtreme II 1 GigE (NDIS VBD Client)', u'NIC3', u'4'], [ u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Broadcom BCM57800 NetXtreme II 10 GigE (NDIS VBD Client)', u'NIC1', u'2' ], [u'NODE1', u'', u'Microsoft ISATAP Adapter', u'', u''], [u'NODE1', u'', u'Microsoft ISATAP Adapter #2', u'', u''], [u'NODE1', u'', u'Microsoft ISATAP Adapter #3', u'', u''], [u'NODE1', u'', u'Microsoft ISATAP Adapter #4', u'', u''], [u'NODE1', u'', u'Microsoft Network Adapter Multiplexor Default Miniport', u'', u''], [ u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Microsoft Network Adapter Multiplexor Driver', u'10GTeam', u'2' ], [u'NODE1', u'', u'Hyper-V Virtual Switch Extension Adapter', u'', u''], [ u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Hyper-V Virtual Ethernet Adapter #2', u'Management', u'2' ], [u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Hyper-V Virtual Ethernet Adapter #3', u'CSV', u'2'], [u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Hyper-V Virtual Ethernet Adapter #4', u'Live', u'2'], [u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Hyper-V Virtual Ethernet Adapter #5', u'iSCSI1', u'2'], [u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Hyper-V Virtual Ethernet Adapter #6', u'iSCSI2', u'2'], [u'NODE1', u'', u'Microsoft ISATAP Adapter #5', u'', u''], [u'NODE1', u'AA:AA:AA:AA:AA:AA', u'Microsoft Failover Cluster Virtual Adapter', u'', u''], [u'NODE1', u'', u'Microsoft ISATAP Adapter #6', u'', u''], ])
def test_winperf_if_netconnection_id(string_table, settings, items): assert [ service.item for service in winperf_if.discover_winperf_if( [{ **interfaces.DISCOVERY_DEFAULT_PARAMETERS, **settings, }], winperf_if.parse_winperf_if(string_table), ) if isinstance(service, Service) ] == items
def test_winperf_if_regression( monkeypatch, string_table, discovery_results, items_params_results, ): section = winperf_if.parse_winperf_if(string_table) assert list(winperf_if.discover_winperf_if( [interfaces.DISCOVERY_DEFAULT_PARAMETERS], section, )) == discovery_results monkeypatch.setattr(interfaces, 'get_value_store', lambda: {}) for item, par, res in items_params_results: assert list(winperf_if.check_winperf_if( item, par, section, )) == res
def test_winperf_if_group_patterns(value_store): expected_services = [ Service(item='Broadcom ABC123 NetXtreme 123 GigE [Client1] 138', parameters={ 'discovered_oper_status': ['1'], 'discovered_speed': 1410065408 }), Service(item='Broadcom ABC456 NetXtreme 456 GigE [Client2] 137', parameters={ 'discovered_oper_status': ['1'], 'discovered_speed': 1410065408 }), Service( item='Broadcom', parameters={ 'aggregate': { 'member_appearance': 'descr', 'inclusion_condition': { 'match_desc': [ 'Broadcom ABC123 NetXtreme 123 GigE \\[Client1\\] 138', 'Broadcom ABC456 NetXtreme 456 GigE \\[Client2\\] 137' ] }, 'exclusion_conditions': [] }, 'discovered_oper_status': ['1'], 'discovered_speed': 2820130816.0 }), Service( item='isatap', parameters={ 'aggregate': { 'member_appearance': 'descr', 'inclusion_condition': { 'match_desc': [ 'isatap.{A1A1A1A1-A1A1-A1A1-A1A1-A1A1A1A1A1A1}', 'isatap.{B1B1B1B1-B1B1-B1B1-B1B1-B1B1B1B1B1B1}', 'isatap.{C1C1C1C1-C1C1-C1C1-C1C1-C1C1C1C1C1C1}', 'isatap.{D1D1D1D1-D1D1-D1D1-D1D1-D1D1D1D1D1D1}', 'isatap.{E1E1E1E1-E1E1-E1E1-E1E1-E1E1E1E1E1E1}', 'isatap.{F1F1F1F1-F1F1-F1F1-F1F1-F1F1F1F1F1F1}' ] }, 'exclusion_conditions': [] }, 'discovered_oper_status': ['1'], 'discovered_speed': 600000.0 }), ] section = winperf_if.parse_winperf_if(IF_SECTION) assert list( winperf_if.discover_winperf_if( [ type_defs.Parameters({ 'discovery_single': ( False, {}, ), 'grouping': ( True, { 'group_items': [ { 'group_name': 'isatap', 'member_appearance': 'descr', }, ], }, ), 'matching_conditions': ( False, { 'match_desc': [ 'isatap.{A1A1A1A1-A1A1-A1A1-A1A1-A1A1A1A1A1A1}', 'isatap.{B1B1B1B1-B1B1-B1B1-B1B1-B1B1B1B1B1B1}', 'isatap.{C1C1C1C1-C1C1-C1C1-C1C1-C1C1C1C1C1C1}', 'isatap.{D1D1D1D1-D1D1-D1D1-D1D1-D1D1D1D1D1D1}', 'isatap.{E1E1E1E1-E1E1-E1E1-E1E1-E1E1E1E1E1E1}', 'isatap.{F1F1F1F1-F1F1-F1F1-F1F1-F1F1F1F1F1F1}', ], }, ), }), type_defs.Parameters({ 'grouping': ( True, { 'group_items': [ { 'group_name': 'Broadcom', 'member_appearance': 'descr', }, ], }, ), 'matching_conditions': ( False, { 'match_desc': [ 'Broadcom ABC123 NetXtreme 123 GigE \\[Client1\\] 138', 'Broadcom ABC456 NetXtreme 456 GigE \\[Client2\\] 137', ], }, ), }), type_defs.Parameters({ **interfaces.DISCOVERY_DEFAULT_PARAMETERS, 'discovery_single': ( True, { 'item_appearance': 'descr', 'pad_portnumbers': True, }, ), }), ], section, )) == expected_services assert [ result for service in expected_services for result in winperf_if.check_winperf_if( service.item or "", # or "" to make mypy happy type_defs.Parameters(service.parameters), section, ) if not isinstance(result, IgnoreResults) ] == [ Result(state=state.OK, notice='[1]'), Result(state=state.OK, notice='Operational state: Connected'), Result(state=state.OK, summary='Speed: 1.41 GBit/s'), Result(state=state.OK, notice='[2]'), Result(state=state.OK, notice='Operational state: Connected'), Result(state=state.OK, summary='Speed: 1.41 GBit/s'), Result(state=state.OK, notice='Teaming'), Result(state=state.OK, notice='Operational state: up'), Result( state=state.OK, notice= 'Members: [Broadcom ABC123 NetXtreme 123 GigE [Client1] 138 (Connected), Broadcom ABC456 NetXtreme 456 GigE [Client2] 137 (Connected)]', ), Result(state=state.OK, summary='Speed: 2.82 GBit/s'), Result(state=state.OK, notice='Teaming'), Result(state=state.OK, notice='Operational state: up'), Result( state=state.OK, notice= 'Members: [isatap.{A1A1A1A1-A1A1-A1A1-A1A1-A1A1A1A1A1A1} (Connected), isatap.{B1B1B1B1-B1B1-B1B1-B1B1-B1B1B1B1B1B1} (Connected), isatap.{C1C1C1C1-C1C1-C1C1-C1C1-C1C1C1C1C1C1} (Connected), isatap.{D1D1D1D1-D1D1-D1D1-D1D1-D1D1D1D1D1D1} (Connected), isatap.{E1E1E1E1-E1E1-E1E1-E1E1-E1E1E1E1E1E1} (Connected), isatap.{F1F1F1F1-F1F1-F1F1-F1F1-F1F1F1F1F1F1} (Connected)]', ), Result(state=state.OK, summary='Speed: 600 kBit/s'), ]
def test_winperf_if_inventory_teaming(): assert list( winperf_if.discover_winperf_if( [ type_defs.Parameters({ **interfaces.DISCOVERY_DEFAULT_PARAMETERS, 'discovery_single': ( True, { 'item_appearance': 'descr', 'pad_portnumbers': True, }, ), }) ], winperf_if.parse_winperf_if([ [u'1542018413.59', u'510', u'2341040'], [ u'4', u'instances:', u'HPE_Ethernet_1Gb_4-port_331i_Adapter__3', u'HPE_Ethernet_1Gb_4-port_331i_Adapter__4', u'HPE_Ethernet_1Gb_4-port_331i_Adapter', u'HPE_Ethernet_1Gb_4-port_331i_Adapter__2', ], [ u'-122', u'201612106', u'187232778', u'200985680546908', u'969308895925', u'bulk_count' ], [ u'-110', u'2938459', u'2713782', u'141023109713', u'7143818358', u'bulk_count' ], [ u'-244', u'2920458', u'2695781', u'133889346630', u'9159143', u'bulk_count' ], [ u'-58', u'18001', u'18001', u'7133763083', u'7134659215', u'bulk_count' ], [ u'10', u'1000000000', u'1000000000', u'1000000000', u'1000000000', u'large_rawcount' ], [ u'-246', u'189182492', u'174803164', u'200050287945665', u'730174911', u'bulk_count' ], [u'14', u'0', u'0', u'133879714188', u'131929', u'bulk_count'], [ u'16', u'2920458', u'2695781', u'8946694', u'9027210', u'bulk_count' ], [u'18', u'0', u'0', u'685748', u'4', u'large_rawcount'], [u'20', u'0', u'0', u'0', u'0', u'large_rawcount'], [u'22', u'0', u'0', u'0', u'0', u'large_rawcount'], [ u'-4', u'12429614', u'12429614', u'935392601243', u'968578721014', u'bulk_count' ], [ u'26', u'0', u'0', u'7133594582', u'7134655376', u'bulk_count' ], [u'28', u'18001', u'18001', u'168501', u'3839', u'bulk_count'], [u'30', u'0', u'0', u'0', u'0', u'large_rawcount'], [u'32', u'0', u'0', u'0', u'0', u'large_rawcount'], [u'34', u'0', u'0', u'0', u'0', u'large_rawcount'], [u'1086', u'0', u'0', u'0', u'0', u'large_rawcount'], [u'1088', u'0', u'0', u'0', u'0', u'large_rawcount'], [u'1090', u'0', u'0', u'0', u'0', u'bulk_count'], [u'1092', u'0', u'0', u'0', u'0', u'bulk_count'], [u'1094', u'0', u'0', u'0', u'0', u'large_rawcount'], [u'[teaming_start]'], [ u'TeamName', u'TeamingMode', u'LoadBalancingAlgorithm', u'MemberMACAddresses', u'MemberNames', u'MemberDescriptions', u'Speed', u'GUID' ], [ u'LAN ', u'SwitchIndependent ', u'Dynamic ', u'38:63:BB:44:D0:24;38:63:BB:44:D0:25', u'nic1;nic2', u'HPE Ethernet 1Gb 4-port 331i Adapter;HPE Ethernet 1Gb 4-port 331i Adapter #2', u'1000000000;1000000000', u'{4DA62AA0-8163-459C-9ACE-95B1E729A7DD};{FEF2305A-57FD-4AEC-A817-C082565B6AA7}' ], [u'[teaming_end]'], [ u'Node', u'MACAddress', u'Name', u'NetConnectionID', u'NetConnectionStatus', u'Speed', u'GUID' ], [ u'S5EXVM318 ', u' 38:63:BB:44:D0:26 ', u' HPE Ethernet 1Gb 4-port 331i Adapter #3 ', u' nic3-vl302 ', u' 2 ', u' 1000000000 ', u' {5FBD3455-980D-4AD6-BDEE-79B42B7BBDBC}' ], [ u'S5EXVM318 ', u' 38:63:BB:44:D0:27 ', u' HPE Ethernet 1Gb 4-port 331i Adapter #4 ', u' nic4-vl303 ', u' 2 ', u' 1000000000 ', u' {8A1D9DD0-DF30-46CD-87FC-ACB13A5AB2BA}' ], [ u'S5EXVM318 ', u' 38:63:BB:44:D0:24 ', u' HPE Ethernet 1Gb 4-port 331i Adapter ', u' nic1 ', u' 2 ', u' ', u' {4DA62AA0-8163-459C-9ACE-95B1E729A7DD}' ], [ u'S5EXVM318 ', u' 38:63:BB:44:D0:25 ', u' HPE Ethernet 1Gb 4-port 331i Adapter ', u' nic2 ', u' 2 ', u' ', u' {FEF2305A-57FD-4AEC-A817-C082565B6AA7}' ], [ u'S5EXVM318 ', u' 38:63:BB:44:D0:24 ', u' Microsoft Network Adapter Multiplexor Driver ', u' LAN ', u' 2 ', u' 2000000000 ', u' {69DCC9F6-FD98-474C-87F8-DD1023C6117C}' ], ]), )) == [ Service( item='HPE Ethernet 1Gb 4-port 331i Adapter 3', parameters={ 'discovered_oper_status': ['1'], 'discovered_speed': 1000000000 }, ), Service( item='HPE Ethernet 1Gb 4-port 331i Adapter 4', parameters={ 'discovered_oper_status': ['1'], 'discovered_speed': 1000000000 }, ), Service( item='HPE Ethernet 1Gb 4-port 331i Adapter', parameters={ 'discovered_oper_status': ['1'], 'discovered_speed': 1000000000 }, ), Service( item='HPE Ethernet 1Gb 4-port 331i Adapter 2', parameters={ 'discovered_oper_status': ['1'], 'discovered_speed': 1000000000 }, ), Service( item='LAN', parameters={ 'aggregate': { 'member_appearance': 'descr' }, 'discovered_oper_status': ['1'], 'discovered_speed': 2000000000.0 }, ), ]