Skip to content
Snippets Groups Projects
Commit 3f89ed8a authored by Neda Moeini's avatar Neda Moeini
Browse files

Fixed the error report interfaces broken test.

parent 8ab101d9
No related branches found
No related tags found
1 merge request!37Feature/dboard3 921
...@@ -914,6 +914,13 @@ def interfaces(hostname=None): ...@@ -914,6 +914,13 @@ def interfaces(hostname=None):
return Response(result, mimetype="application/json") return Response(result, mimetype="application/json")
def get_router_vendor_by_fqdn(router: str) -> str | None:
"""Gets the vendor of a router by its FQDN from cache."""
current_redis = common.get_current_redis()
netdash_equipment = json.loads(current_redis.get('netdash').decode('utf-8'))
return netdash_equipment.get(router)
def load_error_report_interfaces( def load_error_report_interfaces(
config, hostname=None, use_next_redis=False config, hostname=None, use_next_redis=False
): ):
...@@ -932,17 +939,12 @@ def load_error_report_interfaces( ...@@ -932,17 +939,12 @@ def load_error_report_interfaces(
) )
) )
def get_vendor(router: str) -> str | None:
current_redis = common.get_current_redis()
netdash_equipment = json.loads(current_redis.get('netdash').decode('utf-8'))
return netdash_equipment.get(router)
def transform_interface(interface: dict) -> dict: def transform_interface(interface: dict) -> dict:
return { return {
"router": interface["router"], "router": interface["router"],
"name": interface["name"], "name": interface["name"],
"description": interface["description"], "description": interface["description"],
"vendor": get_vendor(interface["router"]), "vendor": get_router_vendor_by_fqdn(interface["router"]),
} }
return sorted( return sorted(
......
...@@ -1017,7 +1017,12 @@ def test_populate_error_report_interfaces_cache(mocker, data_config, mocked_redi ...@@ -1017,7 +1017,12 @@ def test_populate_error_report_interfaces_cache(mocker, data_config, mocked_redi
mocker.patch( mocker.patch(
'inventory_provider.tasks.worker.InventoryTask.config' 'inventory_provider.tasks.worker.InventoryTask.config'
) )
mocker.patch('inventory_provider.routes.poller.load_error_report_interfaces.get_vendor', return_value='juniper')
def mock_get_router_vendor_by_fqdn(fqdn):
return 'nokia' if fqdn == 'rt0.geant.net' else 'juniper'
mocker.patch('inventory_provider.routes.poller.get_router_vendor_by_fqdn',
side_effect=mock_get_router_vendor_by_fqdn)
exp_router_a_interfaces = [ exp_router_a_interfaces = [
{ {
"router": "router_a.geant.net", "router": "router_a.geant.net",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment