mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-19 05:59:44 -04:00
Merge pull request #3014 from alphagov/cache-organisations
Cache organisations, not just domains in Redis
This commit is contained in:
@@ -900,24 +900,42 @@ def test_clear_cache_shows_form(client_request, platform_admin_user, mocker):
|
||||
assert page.select('input[type=radio]')[0]['value'] == 'user'
|
||||
assert page.select('input[type=radio]')[1]['value'] == 'service'
|
||||
assert page.select('input[type=radio]')[2]['value'] == 'template'
|
||||
assert page.select('input[type=radio]')[3]['value'] == 'email_branding'
|
||||
assert page.select('input[type=radio]')[4]['value'] == 'letter_branding'
|
||||
assert page.select('input[type=radio]')[5]['value'] == 'organisation'
|
||||
assert not redis.delete_cache_keys_by_pattern.called
|
||||
|
||||
|
||||
def test_clear_cache_submits_and_tells_you_how_many_things_were_deleted(client_request, platform_admin_user, mocker):
|
||||
@pytest.mark.parametrize('model_type, expected_calls, expected_confirmation', (
|
||||
('template', [
|
||||
call('service-????????-????-????-????-????????????-templates'),
|
||||
call('template-????????-????-????-????-????????????-version-*'),
|
||||
call('template-????????-????-????-????-????????????-versions'),
|
||||
], 'Removed 3 template objects from redis'),
|
||||
('organisation', [
|
||||
call('organisations'),
|
||||
call('domains'),
|
||||
call('live-service-and-organisation-counts'),
|
||||
], 'Removed 3 organisation objects from redis'),
|
||||
))
|
||||
def test_clear_cache_submits_and_tells_you_how_many_things_were_deleted(
|
||||
client_request,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
model_type,
|
||||
expected_calls,
|
||||
expected_confirmation,
|
||||
):
|
||||
redis = mocker.patch('app.main.views.platform_admin.redis_client')
|
||||
redis.delete_cache_keys_by_pattern.side_effect = [0, 3, 1]
|
||||
client_request.login(platform_admin_user)
|
||||
|
||||
page = client_request.post('main.clear_cache', _data={'model_type': 'template'}, _expected_status=200)
|
||||
page = client_request.post('main.clear_cache', _data={'model_type': model_type}, _expected_status=200)
|
||||
|
||||
assert redis.delete_cache_keys_by_pattern.call_args_list == [
|
||||
call('service-????????-????-????-????-????????????-templates'),
|
||||
call('template-????????-????-????-????-????????????-version-*'),
|
||||
call('template-????????-????-????-????-????????????-versions'),
|
||||
]
|
||||
assert redis.delete_cache_keys_by_pattern.call_args_list == expected_calls
|
||||
|
||||
flash_banner = page.find('div', class_='banner-default')
|
||||
assert flash_banner.text.strip() == 'Removed 3 template objects from redis'
|
||||
assert flash_banner.text.strip() == expected_confirmation
|
||||
|
||||
|
||||
def test_clear_cache_requires_option(client_request, platform_admin_user, mocker):
|
||||
|
||||
Reference in New Issue
Block a user