mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-07 04:58:24 -04:00
Merge pull request #3293 from alphagov/cache-returned-letter-summary
Cache returned letter summary in Redis
This commit is contained in:
@@ -360,6 +360,9 @@ def platform_admin_returned_letters():
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
letter_jobs_client.submit_returned_letters(references)
|
letter_jobs_client.submit_returned_letters(references)
|
||||||
|
redis_client.delete_cache_keys_by_pattern(
|
||||||
|
'service-????????-????-????-????-????????????-returned-letters-summary'
|
||||||
|
)
|
||||||
except HTTPError as error:
|
except HTTPError as error:
|
||||||
if error.status_code == 400:
|
if error.status_code == 400:
|
||||||
error_references = [
|
error_references = [
|
||||||
|
|||||||
@@ -569,6 +569,7 @@ class ServiceAPIClient(NotifyAdminAPIClient):
|
|||||||
def get_service_data_retention(self, service_id):
|
def get_service_data_retention(self, service_id):
|
||||||
return self.get("/service/{}/data-retention".format(service_id))
|
return self.get("/service/{}/data-retention".format(service_id))
|
||||||
|
|
||||||
|
@cache.set('service-{service_id}-returned-letters-summary')
|
||||||
def get_returned_letter_summary(self, service_id):
|
def get_returned_letter_summary(self, service_id):
|
||||||
return self.get("service/{}/returned-letter-summary".format(service_id))
|
return self.get("service/{}/returned-letter-summary".format(service_id))
|
||||||
|
|
||||||
|
|||||||
@@ -680,6 +680,7 @@ def test_platform_admin_displays_stats_in_right_boxes_and_with_correct_styling(
|
|||||||
|
|
||||||
def test_platform_admin_submit_returned_letters(mocker, platform_admin_client):
|
def test_platform_admin_submit_returned_letters(mocker, platform_admin_client):
|
||||||
|
|
||||||
|
redis = mocker.patch('app.main.views.platform_admin.redis_client')
|
||||||
mock_client = mocker.patch('app.letter_jobs_client.submit_returned_letters')
|
mock_client = mocker.patch('app.letter_jobs_client.submit_returned_letters')
|
||||||
|
|
||||||
response = platform_admin_client.post(
|
response = platform_admin_client.post(
|
||||||
@@ -688,7 +689,9 @@ def test_platform_admin_submit_returned_letters(mocker, platform_admin_client):
|
|||||||
)
|
)
|
||||||
|
|
||||||
mock_client.assert_called_once_with(['REF1', 'REF2'])
|
mock_client.assert_called_once_with(['REF1', 'REF2'])
|
||||||
|
redis.delete_cache_keys_by_pattern.assert_called_once_with(
|
||||||
|
'service-????????-????-????-????-????????????-returned-letters-summary'
|
||||||
|
)
|
||||||
assert response.status_code == 302
|
assert response.status_code == 302
|
||||||
assert response.location == url_for('main.platform_admin_returned_letters', _external=True)
|
assert response.location == url_for('main.platform_admin_returned_letters', _external=True)
|
||||||
|
|
||||||
|
|||||||
@@ -316,6 +316,25 @@ def test_client_returns_count_of_service_templates(
|
|||||||
],
|
],
|
||||||
{'data_from': 'api'},
|
{'data_from': 'api'},
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
service_api_client.get_returned_letter_summary,
|
||||||
|
[SERVICE_ONE_ID],
|
||||||
|
[
|
||||||
|
call('service-{}-returned-letters-summary'.format(SERVICE_ONE_ID))
|
||||||
|
],
|
||||||
|
None,
|
||||||
|
[
|
||||||
|
call('service/{}/returned-letter-summary'.format(SERVICE_ONE_ID))
|
||||||
|
],
|
||||||
|
[
|
||||||
|
call(
|
||||||
|
'service-{}-returned-letters-summary'.format(SERVICE_ONE_ID),
|
||||||
|
'{"data_from": "api"}',
|
||||||
|
ex=604800,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
{'data_from': 'api'},
|
||||||
|
),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
def test_returns_value_from_cache(
|
def test_returns_value_from_cache(
|
||||||
|
|||||||
Reference in New Issue
Block a user