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.
This commit is contained in:
Pea Tyczynska
2020-12-14 17:52:08 +00:00
parent 45b806f6db
commit 4758d8c4cb
2 changed files with 8 additions and 5 deletions

View File

@@ -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
],

View File

@@ -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
},
]