diff --git a/test/test_classifier_routes.py b/test/test_classifier_routes.py index 114112d1a6cd3789e38211547a03eb14497cfbe8..a01236f25f847ca6b3989ded0d8549f2c8e76bbe 100644 --- a/test/test_classifier_routes.py +++ b/test/test_classifier_routes.py @@ -73,3 +73,39 @@ def test_juniper_addresses(mocker, client): jsonschema.validate(response_data, response_schema) assert len(response_data) == len(test_data) assert set([x['ip_address'] for x in test_data]) == set(response_data) + + +def test_trap_metadata(mocker, client): + test_data = [ + { + "equipment": "test-equipment", + "manufacturer": "test-manufacturer", + "vendor": "test-vendor", + "absid": "1234", + "name": "test-service_1" + }, + { + "equipment": "test-equipment", + "manufacturer": "test-manufacturer", + "vendor": "test-vendor", + "absid": "2345", + "name": "test-service_2" + } + ] + mocked_redis = mocker.patch( + "inventory_provider.routes.classifier.db.get_redis") + mocked_redis.return_value.hget.return_value = json.dumps(test_data)\ + .encode("utf-8") + + response_schema = { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object" + } + + rv = client.get( + '/classifier/trap-metadata/BGP/dummy-equipment/xe-2/3/1', + headers=DEFAULT_REQUEST_HEADERS) + assert rv.status_code == 200 + assert rv.is_json + response_data = json.loads(rv.data.decode('utf-8')) + jsonschema.validate(response_data, response_schema)