diff --git a/test/test_neteng_routes.py b/test/test_neteng_routes.py index 8bc82db71c96426f68d502f8fe4dac4e2414cd40..1e95322a3be4cd43a83caeea12c2a9f6d35e034e 100644 --- a/test/test_neteng_routes.py +++ b/test/test_neteng_routes.py @@ -1,65 +1,27 @@ import json import jsonschema +import pytest -from inventory_provider.routes import common -from inventory_provider.routes.default import VERSION_SCHEMA +from inventory_provider.db.ims_data import NODE_LOCATION_SCHEMA -DEFAULT_REQUEST_HEADERS = { - 'Content-type': 'application/json', - 'Accept': ['application/json'] -} - - -def test_version_request(client, mocked_redis): +@pytest.mark.parametrize('equipment_name', [ + 'MX1.AMS.NL', + 'MIL-OLA1', + 'LON02-GRV1' +]) +def test_location(client, mocked_redis, equipment_name): rv = client.post( - 'version', - headers=DEFAULT_REQUEST_HEADERS) + f'/neteng/location/{equipment_name}', + headers={'Accept': ['application/json']}) assert rv.status_code == 200 jsonschema.validate( json.loads(rv.data.decode('utf-8')), - VERSION_SCHEMA) - - -def test_load_json_docs(data_config, mocked_redis): + NODE_LOCATION_SCHEMA) - INTERFACE_SCHEMA = { - '$schema': 'http://json-schema.org/draft-07/schema#', - 'definitions': { - 'interface': { - 'type': 'object', - 'properties': { - 'logical-system': {'type': 'string'}, - 'name': {'type': 'string'}, - 'description': {'type': 'string'}, - 'bundle': { - 'type': 'array', - 'items': {'type': 'string'} - }, - 'ipv4': { - 'type': 'array', - 'items': {'type': 'string'} - }, - 'ipv6': { - 'type': 'array', - 'items': {'type': 'string'} - } - }, - 'required': ['name', 'description', 'ipv4', 'ipv6'], - 'additionalProperties': False - } - }, - - 'type': 'object', - 'properties': { - 'key': {'type': 'string'}, - 'value': {'$ref': '#/definitions/interface'} - }, - 'required': ['key', 'value'], - 'additionalProperties': False - } - - for ifc in common.load_json_docs( - data_config, 'netconf-interfaces:*', num_threads=20): - jsonschema.validate(ifc, INTERFACE_SCHEMA) +def test_location_not_found(client, mocked_redis): + rv = client.post( + '/neteng/location/BOGUS.EQUIPMENT.NAME', + headers={'Accept': ['application/json']}) + assert rv.status_code == 404