From fb675d113e6e3bad031e2693ebe96d413a089c1b Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Wed, 9 Jan 2019 16:17:24 +0100 Subject: [PATCH] added '/classifier/juniper-server-addresses' unit test --- test/test_classifier_routes.py | 38 +++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/test/test_classifier_routes.py b/test/test_classifier_routes.py index b3b0484f..08e46393 100644 --- a/test/test_classifier_routes.py +++ b/test/test_classifier_routes.py @@ -7,7 +7,7 @@ DEFAULT_REQUEST_HEADERS = { } -def test_version_request(client): +def test_infinera_addresses(client): response_schema = { "$schema": "http://json-schema.org/draft-07/schema#", "type": "array", @@ -22,3 +22,39 @@ def test_version_request(client): json.loads(rv.data.decode("utf-8")), response_schema) + +def test_juniper_addresses(mocker, client): + + test_data = [ + {"ip_address": "a.b.c.d", "project_name": "AAABBB"}, + {"ip_address": "b.c.d.e", "project_name": "CCCCDDDDD"}, + {"ip_address": "c.d.e.f", "project_name": "EFEFEFEF"}, + {"ip_address": "::1", "project_name": "GGHHGGHH"} + ] + + class MockedRedis(): + def __init__(self): + pass + + def get(self, ignored): + return json.dumps(test_data).encode('utf-8') + + mocker.patch( + 'inventory_provider.routes.classifier.db.get_redis', + return_value=MockedRedis()) + + response_schema = { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "array", + "items": {"type": "string"} + } + + rv = client.post( + "/classifier/juniper-server-addresses", + headers=DEFAULT_REQUEST_HEADERS) + assert rv.status_code == 200 + response_data = json.loads(rv.data.decode('utf-8')) + 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) + -- GitLab