"""Tests for base handlers.""" import json import pytest from artwork.exceptions.invalid_usage import InvalidUsageException from artwork.handlers import base as base_handlers @pytest.mark.parametrize( ('description', 'exception', 'expected_code',), [ ('test ok call', None, 200), ('test 500 level exception', Exception, 500), ('test 400 level exception', InvalidUsageException, 400), ], ) def test_exception_handler(mocker, test_client, description, exception, expected_code): """Test exception_handler.""" mocker.patch.object( base_handlers, 'jsonify', return_value=json.dumps({'very': 'nice'}), side_effect=exception, autospec=True, ) result = test_client.get('/hello/') assert result.status_code == expected_code