mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 23:55:58 -05:00
Send message format to CBC
Either cap or ibag
This commit is contained in:
@@ -105,7 +105,13 @@ def test_send_broadcast_event_does_nothing_if_cbc_proxy_disabled(mocker, notify_
|
||||
|
||||
|
||||
@freeze_time('2020-08-01 12:00')
|
||||
def test_send_broadcast_provider_message_sends_data_correctly(mocker, sample_service):
|
||||
@pytest.mark.parametrize('provider,provider_capitalised,message_format', [
|
||||
['ee', 'EE', 'cbc'],
|
||||
['vodafone', 'Vodafone', 'ibag'],
|
||||
])
|
||||
def test_send_broadcast_provider_message_sends_data_correctly(
|
||||
mocker, sample_service, provider, provider_capitalised, message_format
|
||||
):
|
||||
template = create_template(sample_service, BROADCAST_TYPE)
|
||||
broadcast_message = create_broadcast_message(
|
||||
template,
|
||||
@@ -121,19 +127,20 @@ def test_send_broadcast_provider_message_sends_data_correctly(mocker, sample_ser
|
||||
event = create_broadcast_event(broadcast_message)
|
||||
|
||||
mock_create_broadcast = mocker.patch(
|
||||
'app.clients.cbc_proxy.CBCProxyEE.create_and_send_broadcast',
|
||||
f'app.clients.cbc_proxy.CBCProxy{provider_capitalised}.create_and_send_broadcast',
|
||||
)
|
||||
|
||||
assert event.get_provider_message('ee') is None
|
||||
assert event.get_provider_message(provider) is None
|
||||
|
||||
send_broadcast_provider_message(provider='ee', broadcast_event_id=str(event.id))
|
||||
send_broadcast_provider_message(provider=provider, broadcast_event_id=str(event.id))
|
||||
|
||||
broadcast_provider_message = event.get_provider_message('ee')
|
||||
broadcast_provider_message = event.get_provider_message(provider)
|
||||
assert broadcast_provider_message.status == BroadcastProviderMessageStatus.SENDING
|
||||
|
||||
mock_create_broadcast.assert_called_once_with(
|
||||
identifier=str(broadcast_provider_message.id),
|
||||
message_number=mocker.ANY,
|
||||
message_format=message_format,
|
||||
headline='GOV.UK Notify Broadcast',
|
||||
description='this is an emergency broadcast message',
|
||||
areas=[{
|
||||
@@ -150,7 +157,13 @@ def test_send_broadcast_provider_message_sends_data_correctly(mocker, sample_ser
|
||||
)
|
||||
|
||||
|
||||
def test_send_broadcast_provider_message_sends_update_with_references(mocker, sample_service):
|
||||
@pytest.mark.parametrize('provider,provider_capitalised,message_format', [
|
||||
['ee', 'EE', 'cbc'],
|
||||
['vodafone', 'Vodafone', 'ibag'],
|
||||
])
|
||||
def test_send_broadcast_provider_message_sends_update_with_references(
|
||||
mocker, sample_service, provider, provider_capitalised, message_format
|
||||
):
|
||||
template = create_template(sample_service, BROADCAST_TYPE, content='content')
|
||||
|
||||
broadcast_message = create_broadcast_message(
|
||||
@@ -165,35 +178,42 @@ def test_send_broadcast_provider_message_sends_update_with_references(mocker, sa
|
||||
)
|
||||
|
||||
alert_event = create_broadcast_event(broadcast_message, message_type=BroadcastEventMessageType.ALERT)
|
||||
create_broadcast_provider_message(alert_event, 'ee')
|
||||
create_broadcast_provider_message(alert_event, provider)
|
||||
update_event = create_broadcast_event(broadcast_message, message_type=BroadcastEventMessageType.UPDATE)
|
||||
|
||||
mock_update_broadcast = mocker.patch(
|
||||
'app.clients.cbc_proxy.CBCProxyEE.update_and_send_broadcast',
|
||||
f'app.clients.cbc_proxy.CBCProxy{provider_capitalised}.update_and_send_broadcast',
|
||||
)
|
||||
|
||||
send_broadcast_provider_message(provider='ee', broadcast_event_id=str(update_event.id))
|
||||
send_broadcast_provider_message(provider=provider, broadcast_event_id=str(update_event.id))
|
||||
|
||||
broadcast_provider_message = update_event.get_provider_message('ee')
|
||||
broadcast_provider_message = update_event.get_provider_message(provider)
|
||||
assert broadcast_provider_message.status == BroadcastProviderMessageStatus.SENDING
|
||||
|
||||
mock_update_broadcast.assert_called_once_with(
|
||||
identifier=str(broadcast_provider_message.id),
|
||||
message_number=mocker.ANY,
|
||||
message_format=message_format,
|
||||
headline="GOV.UK Notify Broadcast",
|
||||
description='this is an emergency broadcast message',
|
||||
areas=[{
|
||||
"polygon": [[50.12, 1.2], [50.13, 1.2], [50.14, 1.21]],
|
||||
}],
|
||||
previous_provider_messages=[
|
||||
alert_event.get_provider_message('ee')
|
||||
alert_event.get_provider_message(provider)
|
||||
],
|
||||
sent=update_event.sent_at_as_cap_datetime_string,
|
||||
expires=update_event.transmitted_finishes_at_as_cap_datetime_string,
|
||||
)
|
||||
|
||||
|
||||
def test_send_broadcast_provider_message_sends_cancel_with_references(mocker, sample_service):
|
||||
@pytest.mark.parametrize('provider,provider_capitalised,message_format', [
|
||||
['ee', 'EE', 'cbc'],
|
||||
['vodafone', 'Vodafone', 'ibag'],
|
||||
])
|
||||
def test_send_broadcast_provider_message_sends_cancel_with_references(
|
||||
mocker, sample_service, provider, provider_capitalised, message_format
|
||||
):
|
||||
template = create_template(sample_service, BROADCAST_TYPE, content='content')
|
||||
|
||||
broadcast_message = create_broadcast_message(
|
||||
@@ -211,29 +231,30 @@ def test_send_broadcast_provider_message_sends_cancel_with_references(mocker, sa
|
||||
update_event = create_broadcast_event(broadcast_message, message_type=BroadcastEventMessageType.UPDATE)
|
||||
cancel_event = create_broadcast_event(broadcast_message, message_type=BroadcastEventMessageType.CANCEL)
|
||||
|
||||
create_broadcast_provider_message(alert_event, 'ee')
|
||||
create_broadcast_provider_message(update_event, 'ee')
|
||||
create_broadcast_provider_message(alert_event, provider)
|
||||
create_broadcast_provider_message(update_event, provider)
|
||||
|
||||
mock_cancel_broadcast = mocker.patch(
|
||||
'app.clients.cbc_proxy.CBCProxyEE.cancel_broadcast',
|
||||
f'app.clients.cbc_proxy.CBCProxy{provider_capitalised}.cancel_broadcast',
|
||||
)
|
||||
|
||||
send_broadcast_provider_message(provider='ee', broadcast_event_id=str(cancel_event.id))
|
||||
send_broadcast_provider_message(provider=provider, broadcast_event_id=str(cancel_event.id))
|
||||
|
||||
broadcast_provider_message = cancel_event.get_provider_message('ee')
|
||||
broadcast_provider_message = cancel_event.get_provider_message(provider)
|
||||
assert broadcast_provider_message.status == BroadcastProviderMessageStatus.SENDING
|
||||
|
||||
mock_cancel_broadcast.assert_called_once_with(
|
||||
identifier=str(broadcast_provider_message.id),
|
||||
message_number=mocker.ANY,
|
||||
message_format=message_format,
|
||||
headline="GOV.UK Notify Broadcast",
|
||||
description='this is an emergency broadcast message',
|
||||
areas=[{
|
||||
"polygon": [[50.12, 1.2], [50.13, 1.2], [50.14, 1.21]],
|
||||
}],
|
||||
previous_provider_messages=[
|
||||
alert_event.get_provider_message('ee'),
|
||||
update_event.get_provider_message('ee')
|
||||
alert_event.get_provider_message(provider),
|
||||
update_event.get_provider_message(provider)
|
||||
],
|
||||
sent=cancel_event.sent_at_as_cap_datetime_string,
|
||||
expires=cancel_event.transmitted_finishes_at_as_cap_datetime_string,
|
||||
@@ -269,6 +290,7 @@ def test_send_broadcast_provider_message_errors(mocker, sample_service):
|
||||
mock_create_broadcast.assert_called_once_with(
|
||||
identifier=ANY,
|
||||
message_number=mocker.ANY,
|
||||
message_format='cbc',
|
||||
headline="GOV.UK Notify Broadcast",
|
||||
description='this is an emergency broadcast message',
|
||||
areas=[{
|
||||
|
||||
@@ -84,6 +84,7 @@ def test_cbc_proxy_create_and_send_invokes_function(mocker, cbc_proxy_ee):
|
||||
cbc_proxy_ee.create_and_send_broadcast(
|
||||
identifier=identifier,
|
||||
message_number='0000007b',
|
||||
message_format='cbc',
|
||||
headline=headline,
|
||||
description=description,
|
||||
areas=areas,
|
||||
@@ -102,6 +103,7 @@ def test_cbc_proxy_create_and_send_invokes_function(mocker, cbc_proxy_ee):
|
||||
|
||||
assert payload['identifier'] == identifier
|
||||
assert payload['message_number'] == '0000007b'
|
||||
assert payload['message_format'] == 'cbc'
|
||||
assert payload['message_type'] == 'alert'
|
||||
assert payload['headline'] == headline
|
||||
assert payload['description'] == description
|
||||
@@ -144,6 +146,7 @@ def test_cbc_proxy_create_and_send_handles_invoke_error(mocker, cbc_proxy_ee):
|
||||
cbc_proxy_ee.create_and_send_broadcast(
|
||||
identifier=identifier,
|
||||
message_number='0000007b',
|
||||
message_format='cbc',
|
||||
headline=headline,
|
||||
description=description,
|
||||
areas=areas,
|
||||
@@ -194,6 +197,7 @@ def test_cbc_proxy_create_and_send_handles_function_error(mocker, cbc_proxy_ee):
|
||||
cbc_proxy_ee.create_and_send_broadcast(
|
||||
identifier=identifier,
|
||||
message_number='0000007b',
|
||||
message_format='cbc',
|
||||
headline=headline,
|
||||
description=description,
|
||||
areas=areas,
|
||||
@@ -256,7 +260,8 @@ def test_cbc_proxy_send_link_test_invokes_function(mocker, cbc_proxy_ee):
|
||||
|
||||
cbc_proxy_ee.send_link_test(
|
||||
identifier=identifier,
|
||||
sequential_number='0000007b'
|
||||
sequential_number='0000007b',
|
||||
message_format='cbc'
|
||||
)
|
||||
|
||||
ld_client_mock.invoke.assert_called_once_with(
|
||||
@@ -272,3 +277,4 @@ def test_cbc_proxy_send_link_test_invokes_function(mocker, cbc_proxy_ee):
|
||||
assert payload['identifier'] == identifier
|
||||
assert payload['message_type'] == 'test'
|
||||
assert payload['message_number'] == '0000007b'
|
||||
assert payload['message_format'] == 'cbc'
|
||||
|
||||
Reference in New Issue
Block a user