From 5d2562d2521be9eb81f1fa1242190181dff0ac59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ina=20Od=C3=A9n=20=C3=96sterbo?= Date: Wed, 6 Sep 2023 15:52:14 +0200 Subject: [PATCH] tests for no response --- tests/test_superadmin_helper.py | 42 +++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/tests/test_superadmin_helper.py b/tests/test_superadmin_helper.py index ed6d99cc..f7b7570d 100644 --- a/tests/test_superadmin_helper.py +++ b/tests/test_superadmin_helper.py @@ -132,8 +132,8 @@ def test_get_maintenance_mode_status_ok(caplog: LogCaptureFixture): ) in caplog.record_tuples -def test_get_stats(caplog: LogCaptureFixture): - """Print stats.""" +def test_get_stats_no_response(caplog: LogCaptureFixture): + """No response returned should warn.""" returned_response: typing.Dict = {} with caplog.at_level(logging.INFO): # Create mocker @@ -151,3 +151,41 @@ def test_get_stats(caplog: LogCaptureFixture): assert "The following information was not returned: ['stats', 'columns']" in str( err.value ) + + +def test_get_stats_no_stats(caplog: LogCaptureFixture): + """No stats returned should warn.""" + returned_response: typing.Dict = {"columns": {"empty": "dict"}} + with caplog.at_level(logging.INFO): + # Create mocker + with Mocker() as mock: + # Create mocked request - real request not executed + mock.get(DDSEndpoint.STATS, status_code=200, json=returned_response) + + with pytest.raises(ApiResponseError) as err: + with superadmin_helper.SuperAdminHelper( + authenticate=False, no_prompt=True + ) as helper: + helper.token = {} # required, otherwise none + helper.get_stats() # Get stats + + assert "The following information was not returned: ['stats']" in str(err.value) + + +def test_get_stats_no_columns(caplog: LogCaptureFixture): + """No columns returned should warn.""" + returned_response: typing.Dict = {"stats": ["empty"]} + with caplog.at_level(logging.INFO): + # Create mocker + with Mocker() as mock: + # Create mocked request - real request not executed + mock.get(DDSEndpoint.STATS, status_code=200, json=returned_response) + + with pytest.raises(ApiResponseError) as err: + with superadmin_helper.SuperAdminHelper( + authenticate=False, no_prompt=True + ) as helper: + helper.token = {} # required, otherwise none + helper.get_stats() # Get stats + + assert "The following information was not returned: ['columns']" in str(err.value)