"""Test healthcheck logic layer.""" from unittest.mock import Mock from api import response from api.logic import healthcheck def test_status(monkeypatch): """Test api.logic.healthcheck.status function.""" expected = 'foo' # Mocking response.create_status_ok_response function create_status_ok_response_mock = Mock(return_value=expected) monkeypatch.setattr( response, 'create_status_ok_response', create_status_ok_response_mock) result = healthcheck.status() assert create_status_ok_response_mock.called assert result == expected def test_db_status_ok(monkeypatch): """Test api.logic.healthcheck.db_status function.""" expected = 'foo' # Mocks # response.create_status_ok_response function create_status_ok_response_mock = Mock(return_value=expected) monkeypatch.setattr( response, 'create_status_ok_response', create_status_ok_response_mock) # healthcheck.healthcheck_model.check_db function check_db_mock = Mock(return_value=True) monkeypatch.setattr( healthcheck.healthcheck_model, 'check_db', check_db_mock) result = healthcheck.db_status() assert check_db_mock.called assert result == expected def test_db_status_error(monkeypatch): """Test api.logic.healthcheck.db_status function.""" expected = 'uh oh' # Mocks # response.create_error_response function create_error_response_mock = Mock(return_value=expected) monkeypatch.setattr( response, 'create_error_response', create_error_response_mock) # healthcheck.healthcheck_model.check_db function check_db_mock = Mock(return_value=False) monkeypatch.setattr( healthcheck.healthcheck_model, 'check_db', check_db_mock) result = healthcheck.db_status() # Asserts assert check_db_mock.called create_error_response_mock.assert_called_once_with( response.ERROR_CODE_SERVICE_UNAVAILABLE, 'Service Unavailable', status=503) assert result == expected