mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 19:03:30 -05:00
59 lines
1.8 KiB
Python
59 lines
1.8 KiB
Python
from app.notify_client.status_api_client import StatusApiClient
|
|
|
|
|
|
def test_get_count_of_live_services_and_organizations(mocker):
|
|
mocker.patch("app.extensions.RedisClient.get", return_value=None)
|
|
client = StatusApiClient()
|
|
mock = mocker.patch.object(client, "get", return_value={})
|
|
|
|
client.get_count_of_live_services_and_organizations()
|
|
|
|
mock.assert_called_once_with(url="/_status/live-service-and-organization-counts")
|
|
|
|
|
|
def test_sets_value_in_cache(mocker):
|
|
client = StatusApiClient()
|
|
|
|
mock_redis_get = mocker.patch("app.extensions.RedisClient.get", return_value=None)
|
|
mock_api_get = mocker.patch(
|
|
"app.notify_client.NotifyAdminAPIClient.get",
|
|
return_value={"data_from": "api"},
|
|
)
|
|
mock_redis_set = mocker.patch(
|
|
"app.extensions.RedisClient.set",
|
|
)
|
|
|
|
assert client.get_count_of_live_services_and_organizations() == {"data_from": "api"}
|
|
|
|
mock_redis_get.assert_called_once_with("live-service-and-organization-counts")
|
|
mock_api_get.assert_called_once_with(
|
|
url="/_status/live-service-and-organization-counts"
|
|
)
|
|
mock_redis_set.assert_called_once_with(
|
|
"live-service-and-organization-counts", '{"data_from": "api"}', ex=3600
|
|
)
|
|
|
|
|
|
def test_returns_value_from_cache(mocker):
|
|
client = StatusApiClient()
|
|
|
|
mock_redis_get = mocker.patch(
|
|
"app.extensions.RedisClient.get",
|
|
return_value=b'{"data_from": "cache"}',
|
|
)
|
|
mock_api_get = mocker.patch(
|
|
"app.notify_client.NotifyAdminAPIClient.get",
|
|
)
|
|
mock_redis_set = mocker.patch(
|
|
"app.extensions.RedisClient.set",
|
|
)
|
|
|
|
assert client.get_count_of_live_services_and_organizations() == {
|
|
"data_from": "cache"
|
|
}
|
|
|
|
mock_redis_get.assert_called_once_with("live-service-and-organization-counts")
|
|
|
|
assert mock_api_get.called is False
|
|
assert mock_redis_set.called is False
|