"""Test exceptions.""" from backend.exceptions import RequestError def test_request_error_defaults(): """Test RequestError defaults.""" error = RequestError('some message') assert error.message == 'some message' assert error.error_code == 'bad_request' assert error.http_status == 400 assert str(error) == 'some message' flask_response = error.make_flask_response() assert flask_response.status_code == 400 assert flask_response.json == {'code': 'bad_request', 'message': 'some message'} def test_request_error_custom(): """Test RequestError custom.""" error = RequestError('some message', error_code='some_code', http_status=403) assert error.message == 'some message' assert error.error_code == 'some_code' assert error.http_status == 403 assert str(error) == 'some message' flask_response = error.make_flask_response() assert flask_response.status_code == 403 assert flask_response.json == {'code': 'some_code', 'message': 'some message'} def test_request_error___eq__(): """Test RequestError __eq__.""" test_request_error = RequestError('some message', error_code='some_code', http_status=403) assert test_request_error != RequestError( f'{test_request_error.message} 2', error_code=test_request_error.error_code, http_status=test_request_error.http_status ) assert test_request_error != RequestError( test_request_error.message, error_code=f'{test_request_error.error_code}_2', http_status=test_request_error.http_status ) assert test_request_error != RequestError( test_request_error.message, error_code=test_request_error.error_code, http_status=test_request_error.http_status + 1 ) assert test_request_error == RequestError( test_request_error.message, error_code=test_request_error.error_code, http_status=test_request_error.http_status )