From 8836b7bdcc2c7c0983a2c3c13777318387b9754e Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Thu, 4 Jun 2020 09:25:36 +0200 Subject: [PATCH] skeleton unit test of the new route --- inventory_provider/routes/jobs.py | 2 +- test/test_job_routes.py | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/inventory_provider/routes/jobs.py b/inventory_provider/routes/jobs.py index ac117e84..384e62a2 100644 --- a/inventory_provider/routes/jobs.py +++ b/inventory_provider/routes/jobs.py @@ -93,7 +93,7 @@ def load_task_log(): r = common.get_next_redis() for k in r.scan_iter('joblog:*'): - value = r.get(k) + value = r.get(k.decode('utf-8')) if not value: logger.error(f'no data for log entry: {k.decode("utf-8")}') continue diff --git a/test/test_job_routes.py b/test/test_job_routes.py index 4f2b473c..b563ca13 100644 --- a/test/test_job_routes.py +++ b/test/test_job_routes.py @@ -254,3 +254,29 @@ def test_latchdb(client, mocked_redis): assert rv.status_code == 200 latch = json.loads(rv.data.decode('utf-8')) jsonschema.validate(latch, DB_LATCH_SCHEMA) + + + +TEST_EVENTS = { + 'joblog:AAAA:task-aaa': {'type': 'task-aaaa', 'uuid': 'AAAA', 'clock': 999}, + 'joblog:AAAB:task-infox': {'type': 'task-infox', 'uuid': 'AAAB', 'clock': 999}, + 'joblog:BBBB:task-info:99': {'type': 'task-info', 'uuid': 'BBBB', 'clock': 99}, + 'joblog:BBBB:task-info:999': {'type': 'task-info', 'uuid': 'BBBB', 'clock': 999}, + 'joblog:AAAA:task-warning:88': {'type': 'task-warning', 'uuid': 'AAAA', 'clock': 88}, + 'joblog:AAAA:task-warning:888': {'type': 'task-warning', 'uuid': 'AAAA', 'clock': 888}, + 'joblog:AAAA:task-error:77': {'type': 'task-error', 'uuid': 'AAAA', 'clock': 77}, + 'joblog:AAAA:task-error:777': {'type': 'task-error', 'uuid': 'AAAA', 'clock': 777} +} + +def test_job_log(client): + + db = backend_db() + for k, v in TEST_EVENTS.items(): + db[k] = json.dumps(v) + + rv = client.post( + 'jobs/log', + headers=DEFAULT_REQUEST_HEADERS) + assert rv.status_code == 200 + result = json.loads(rv.data.decode('utf-8')) + assert len(result.keys()) == 3 # TODO: make a proper test \ No newline at end of file -- GitLab