'''Views for exceptions that are raised
'''
+import logging
from pyramid.view import exception_view_config
from pgwui_common import exceptions as ex
NOT_FOUND = '404 Not Found'
+# Logging
+log = logging.getLogger(__name__)
+
@exception_view_config(ex.BadPageError, renderer='string')
def bad_config_view(ex, request):
request.response.status_code = 404
request.response.status = NOT_FOUND
+ log.error(f'{ex}:{ex.ex}')
return f'PGWUI Configuration Error:\n{ex}:\n{ex.ex}'
# Karl O. Pinc <kop@karlpinc.com>
import pytest
+import logging
from pyramid.threadlocal import get_current_request
import pgwui_common.views.ex_views as ex_views
# bad_config_view()
@pytest.mark.unittest
-def test_bad_config_view(pyramid_request_config, mock_exception_view_config):
- '''Modifies the request, returns an expected response
+def test_bad_config_view(
+ caplog, pyramid_request_config, mock_exception_view_config):
+ '''Modifies the request, returns an expected response, and logs
+ an error
'''
request = get_current_request()
result = ex_views.bad_config_view(
assert isinstance(result, str)
assert request.response.status_code == 404
assert request.response.status == ex_views.NOT_FOUND
+
+ logs = caplog.record_tuples
+ assert len(logs) == 1
+ assert logs[0][1] == logging.ERROR