From c9910118c4b071565285c4af5b4648c0ef3f9e51 Mon Sep 17 00:00:00 2001 From: Tom Kralidis Date: Thu, 17 Aug 2023 06:12:08 -0400 Subject: [PATCH] ensure notification message integrity is encoded as base64 (#484) * ensure notification message integrity is encoded as base64 * use centre-id for testing message queries --- tests/integration/test_workflow.py | 8 ++++---- wis2box-management/wis2box/pubsub/message.py | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/integration/test_workflow.py b/tests/integration/test_workflow.py index 5d1dec33..300f5709 100644 --- a/tests/integration/test_workflow.py +++ b/tests/integration/test_workflow.py @@ -193,10 +193,10 @@ def test_message_api(): # test messages per test dataset counts = { - 'mwi': 24, - 'ita': 33, - 'dza': 29, - 'rou': 185 + 'mwi_met_centre': 24, + 'roma_met_centre': 33, + 'alger_met_centre': 29, + 'rnimh': 185 } for key, value in counts.items(): url = f'{API_URL}/collections/messages/items?sortby=-datetime&q={key}&limit=1' # noqa diff --git a/wis2box-management/wis2box/pubsub/message.py b/wis2box-management/wis2box/pubsub/message.py index 21d49fff..ec5ec800 100644 --- a/wis2box-management/wis2box/pubsub/message.py +++ b/wis2box-management/wis2box/pubsub/message.py @@ -19,6 +19,7 @@ # ############################################################################### +import base64 from datetime import datetime from enum import Enum import json @@ -120,7 +121,7 @@ def _generate_checksum(self, bytes, algorithm: SecureHashAlgorithms) -> str: # sh = getattr(hashlib, algorithm)() sh.update(bytes) - return sh.hexdigest() + return base64.b64encode(sh.digest()).decode() class WISNotificationMessage(PubSubMessage):