32 lines
995 B
Python
32 lines
995 B
Python
|
|
from plaid.errors import APIError, PlaidError
|
||
|
|
|
||
|
|
|
||
|
|
def test_from_response():
|
||
|
|
response = {
|
||
|
|
'display_message': None,
|
||
|
|
'error_type': 'API_ERROR',
|
||
|
|
'error_code': 'INTERNAL_SERVER_ERROR',
|
||
|
|
'error_message': 'an unexpected error occurred',
|
||
|
|
'request_id': 'abc123',
|
||
|
|
'causes': [
|
||
|
|
{
|
||
|
|
'error_type': 'API_ERROR',
|
||
|
|
'error_code': 'INTERNAL_SERVER_ERROR',
|
||
|
|
'error_message': 'an unexpected error occurred',
|
||
|
|
'item_id': '456',
|
||
|
|
},
|
||
|
|
],
|
||
|
|
}
|
||
|
|
|
||
|
|
error = PlaidError.from_response(response)
|
||
|
|
assert isinstance(error, APIError)
|
||
|
|
assert error.code == 'INTERNAL_SERVER_ERROR'
|
||
|
|
assert error.message == 'an unexpected error occurred'
|
||
|
|
|
||
|
|
assert len(error.causes) == 1
|
||
|
|
cause = error.causes[0]
|
||
|
|
assert cause.type == 'API_ERROR'
|
||
|
|
assert cause.code == 'INTERNAL_SERVER_ERROR'
|
||
|
|
assert cause.message == 'an unexpected error occurred'
|
||
|
|
assert cause.item_id == '456'
|