mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-06-25 01:41:19 -04:00
We want to change cache keys for templates and broadcasts to include
their service ID. So cache keys should change from
`template-{template_id}-versions` to
`service-{service_id}-template-{template_id}-versions`.
The first step of this which needs to be deployed as a change first is
to delete both keys when updating service templates (even if they key is
not yet set). This means that when we release code in the next PR to
start setting the new key, we won't run into a case where either the old
or the new key can remain set with stale data.
101 lines
3.2 KiB
Python
101 lines
3.2 KiB
Python
from unittest.mock import call
|
|
|
|
from app.notify_client.broadcast_message_api_client import (
|
|
BroadcastMessageAPIClient,
|
|
)
|
|
|
|
|
|
def test_create_broadcast_message(mocker):
|
|
client = BroadcastMessageAPIClient()
|
|
mocker.patch('app.notify_client.current_user', id='1')
|
|
mock_post = mocker.patch(
|
|
'app.notify_client.broadcast_message_api_client.BroadcastMessageAPIClient.post'
|
|
)
|
|
client.create_broadcast_message(
|
|
service_id='12345',
|
|
template_id='67890',
|
|
)
|
|
mock_post.assert_called_once_with(
|
|
'/service/12345/broadcast-message',
|
|
data={
|
|
'service_id': '12345',
|
|
'template_id': '67890',
|
|
'personalisation': {},
|
|
'created_by': '1',
|
|
},
|
|
)
|
|
|
|
|
|
def test_get_broadcast_messages(mocker):
|
|
client = BroadcastMessageAPIClient()
|
|
mock_get = mocker.patch(
|
|
'app.notify_client.broadcast_message_api_client.BroadcastMessageAPIClient.get'
|
|
)
|
|
client.get_broadcast_messages('12345')
|
|
mock_get.assert_called_once_with(
|
|
'/service/12345/broadcast-message',
|
|
)
|
|
|
|
|
|
def test_get_broadcast_message(mocker):
|
|
client = BroadcastMessageAPIClient()
|
|
mocker.patch('app.notify_client.current_user', id='1')
|
|
mock_get = mocker.patch(
|
|
'app.notify_client.broadcast_message_api_client.BroadcastMessageAPIClient.get',
|
|
return_value={'abc': 'def'},
|
|
)
|
|
mock_redis_set = mocker.patch('app.extensions.RedisClient.set')
|
|
client.get_broadcast_message(service_id='12345', broadcast_message_id='67890')
|
|
mock_get.assert_called_once_with(
|
|
'/service/12345/broadcast-message/67890',
|
|
)
|
|
mock_redis_set.assert_called_once_with(
|
|
'broadcast-message-67890',
|
|
'{"abc": "def"}',
|
|
ex=604_800,
|
|
)
|
|
|
|
|
|
def test_update_broadcast_message(mocker):
|
|
client = BroadcastMessageAPIClient()
|
|
mocker.patch('app.notify_client.current_user', id='1')
|
|
mock_post = mocker.patch(
|
|
'app.notify_client.broadcast_message_api_client.BroadcastMessageAPIClient.post'
|
|
)
|
|
mock_redis_delete = mocker.patch('app.extensions.RedisClient.delete')
|
|
client.update_broadcast_message(
|
|
service_id='12345',
|
|
broadcast_message_id='67890',
|
|
data={'abc': 'def'},
|
|
)
|
|
mock_post.assert_called_once_with(
|
|
'/service/12345/broadcast-message/67890',
|
|
data={'abc': 'def'},
|
|
)
|
|
mock_redis_delete.assert_has_calls([
|
|
call('service-12345-broadcast-message-67890'),
|
|
call('broadcast-message-67890'),
|
|
])
|
|
|
|
|
|
def test_update_broadcast_message_status(mocker):
|
|
client = BroadcastMessageAPIClient()
|
|
mocker.patch('app.notify_client.current_user', id='1')
|
|
mock_post = mocker.patch(
|
|
'app.notify_client.broadcast_message_api_client.BroadcastMessageAPIClient.post'
|
|
)
|
|
mock_redis_delete = mocker.patch('app.extensions.RedisClient.delete')
|
|
client.update_broadcast_message_status(
|
|
'cancelled',
|
|
service_id='12345',
|
|
broadcast_message_id='67890',
|
|
)
|
|
mock_post.assert_called_once_with(
|
|
'/service/12345/broadcast-message/67890/status',
|
|
data={'created_by': '1', 'status': 'cancelled'},
|
|
)
|
|
mock_redis_delete.assert_has_calls([
|
|
call('service-12345-broadcast-message-67890'),
|
|
call('broadcast-message-67890'),
|
|
])
|