diff --git a/hyperglass/api/fake_output.py b/hyperglass/api/fake_output.py index 1c7ffed..65fc747 100644 --- a/hyperglass/api/fake_output.py +++ b/hyperglass/api/fake_output.py @@ -1,7 +1,10 @@ """Return fake, static data for development purposes.""" # Standard Library -from typing import Dict, Union +import typing as t + +# Project +from hyperglass.models.data import BGPRouteTable PLAIN = r""" BGP routing table entry for 4.0.0.0/9, version 1017877672 @@ -156,15 +159,10 @@ ROUTES = [ }, ] -STRUCTURED = { - "vrf": "default", - "count": len(ROUTES), - "routes": ROUTES, - "winning_weight": "high", -} +STRUCTURED = BGPRouteTable(vrf="default", count=len(ROUTES), routes=ROUTES, winning_weight="high") -async def fake_output(structured: bool) -> Union[str, Dict]: +async def fake_output(structured: bool) -> t.Union[str, BGPRouteTable]: """Bypass the standard execution process and return static, fake output.""" output = PLAIN diff --git a/hyperglass/api/routes.py b/hyperglass/api/routes.py index 3ed0aa9..4320509 100644 --- a/hyperglass/api/routes.py +++ b/hyperglass/api/routes.py @@ -128,7 +128,7 @@ async def query( if state.params.fake_output: # Return fake, static data for development purposes, if enabled. - output = await fake_output(True) + output = await fake_output(query_data.device.structured_output or False) else: # Pass request to execution module output = await execute(query_data)