mirror of
https://github.com/GSA/notifications-api.git
synced 2026-05-28 09:59:40 -04:00
more tests
This commit is contained in:
@@ -12,6 +12,7 @@ from app.commands import (
|
||||
_update_template,
|
||||
associate_services_to_organizations,
|
||||
bulk_invite_user_to_service,
|
||||
clear_redis_list,
|
||||
create_new_service,
|
||||
create_test_user,
|
||||
create_user_jwt,
|
||||
@@ -813,3 +814,37 @@ def test_update_templates_calls_update_and_clear(monkeypatch, notify_api):
|
||||
actual_calls = [call.args for call in mock_update_template.call_args_list]
|
||||
assert actual_calls == expected_calls
|
||||
mock_clear_cache.assert_called_once()
|
||||
|
||||
|
||||
def test_clear_redis_list(monkeypatch, notify_api):
|
||||
mock_redis_store = type("RedisStoreMock", (), {})()
|
||||
monkeypatch.setattr("app.commands.redis_store", mock_redis_store)
|
||||
mock_redis_store.llen = lambda list_name: {"before_list": 5, "after_list": 0}[
|
||||
list_name
|
||||
]
|
||||
ltrim_calls = []
|
||||
|
||||
def fake_ltrim(name, start, end):
|
||||
ltrim_calls.append((name, start, end))
|
||||
|
||||
mock_redis_store.ltrim = fake_ltrim
|
||||
logger_info_calls = []
|
||||
mock_logger = type(
|
||||
"LoggerMock", (), {"info": lambda self, msg: logger_info_calls.append(msg)}
|
||||
)()
|
||||
mock_app = type("FlaskAppMock", (), {"logger": mock_logger})
|
||||
monkeypatch.setattr("app.commands.current_app", mock_app)
|
||||
call_count = {"count": 0}
|
||||
|
||||
def llen_side_effect(name):
|
||||
if call_count["count"] == 0:
|
||||
call_count["count"] += 1
|
||||
return 5
|
||||
return 0
|
||||
|
||||
mock_redis_store.llen = llen_side_effect
|
||||
runner = notify_api.test_cli_runner
|
||||
result = runner.invoke(clear_redis_list, ["-n", "foo"])
|
||||
assert result.exit_code == 0
|
||||
assert ltrim_calls == [("test_list", 1, 0)]
|
||||
assert logger_info_calls == ["Cleared redis list test_list. Before: 5 after 0"]
|
||||
|
||||
Reference in New Issue
Block a user