import json import jsonschema from inventory_provider.routes.poller \ import INTERFACE_LIST_SCHEMA, INTERFACE_SPEED_LIST_SCHEMA DEFAULT_REQUEST_HEADERS = { "Content-type": "application/json", "Accept": ["application/json"] } def test_router_interfaces(router, client): rv = client.post( f'/poller/interfaces/{router}', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 response = json.loads(rv.data.decode("utf-8")) jsonschema.validate(response, INTERFACE_LIST_SCHEMA) assert response # at least shouldn't be empty response_routers = {ifc['router'] for ifc in response} assert response_routers == {router} def test_router_interface_speeds(router, client): rv = client.post( f'/poller/speeds/{router}', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 response = json.loads(rv.data.decode("utf-8")) jsonschema.validate(response, INTERFACE_SPEED_LIST_SCHEMA) assert response # at least shouldn't be empty response_routers = {ifc['router'] for ifc in response} assert response_routers == {router}