From 4758d8c4cb42758a06a1e5cdda46beba003cbb67 Mon Sep 17 00:00:00 2001 From: Pea Tyczynska Date: Mon, 14 Dec 2020 17:52:08 +0000 Subject: [PATCH] Format message_number for references In IBAG format for broadcasts, we need to give sequential number of previous message, and it needs to be formatted as a hex padded with zeroes to be 8 character long. This commit adds the necessary formatting. --- app/clients/cbc_proxy.py | 5 ++++- tests/app/clients/test_cbc_proxy.py | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/clients/cbc_proxy.py b/app/clients/cbc_proxy.py index f46caaa40..67f796119 100644 --- a/app/clients/cbc_proxy.py +++ b/app/clients/cbc_proxy.py @@ -217,6 +217,9 @@ class CBCProxyVodafone(CBCProxyClientBase): def cancel_broadcast( self, identifier, previous_provider_messages, sent, message_number ): + # avoid cyclical import + from app.utils import format_sequential_number + payload = { 'message_type': 'cancel', 'identifier': identifier, @@ -225,7 +228,7 @@ class CBCProxyVodafone(CBCProxyClientBase): "references": [ { "message_id": str(message.id), - "message_number": message.message_number, + "message_number": format_sequential_number(message.message_number), "sent": message.created_at } for message in previous_provider_messages ], diff --git a/tests/app/clients/test_cbc_proxy.py b/tests/app/clients/test_cbc_proxy.py index 4e0b491a6..93f7165ff 100644 --- a/tests/app/clients/test_cbc_proxy.py +++ b/tests/app/clients/test_cbc_proxy.py @@ -236,8 +236,8 @@ def test_cbc_proxy_vodafone_cancel_invokes_function(mocker, cbc_proxy_vodafone): MockProviderMessage = namedtuple('BroadcastProviderMessage', ['id', 'message_number', 'created_at']) provider_messages = [ - MockProviderMessage(uuid.uuid4(), '0000007b', '2020-12-10 11:19:44.130585'), - MockProviderMessage(uuid.uuid4(), '0000004e', '2020-12-10 12:19:44.130585') + MockProviderMessage(uuid.uuid4(), 78, '2020-12-10 11:19:44.130585'), + MockProviderMessage(uuid.uuid4(), 123, '2020-12-10 12:19:44.130585') ] sent = '2020-12-10 14:19:44.130585' @@ -275,12 +275,12 @@ def test_cbc_proxy_vodafone_cancel_invokes_function(mocker, cbc_proxy_vodafone): assert payload['references'] == [ { "message_id": str(provider_messages[0].id), - "message_number": provider_messages[0].message_number, + "message_number": '0000004e', "sent": provider_messages[0].created_at }, { "message_id": str(provider_messages[1].id), - "message_number": provider_messages[1].message_number, + "message_number": '0000007b', "sent": provider_messages[1].created_at }, ]