예제 #1
0
def test_connect_step_device_phone():
    client = Client('test_id', 'test_secret', access_token='test_chase')
    response = client.connect_step('chase', None, options={
        'send_method': {'type': 'phone'}
    })
    assert response.status_code == 201
    assert to_json(response)['type'] == 'device'
    assert to_json(response)['mfa']['message'] == 'Code sent to xxx-xxx-5309'
예제 #2
0
def test_connect_step_device_phone():
    client = Client('test_id', 'test_secret', access_token='test_chase')
    response = client.connect_step('chase',
                                   None,
                                   options={'send_method': {
                                       'type': 'phone'
                                   }})
    assert response.status_code == 201
    assert to_json(response)['type'] == 'device'
    assert to_json(response)['mfa']['message'] == 'Code sent to xxx-xxx-5309'
예제 #3
0
 def inner_func(self, *args, **kwargs):
     response = func(self, *args, **kwargs)
     if response.ok:
         json_data = to_json(response)
         self.access_token = json_data.get('access_token',
                                           self.access_token)
     return response
예제 #4
0
def test_institution():
    client = Client('test_id', 'test_secret')
    response = client.institution(
        to_json(client.institutions())[0]['id']
    )

    assert response.status_code == 200
예제 #5
0
def http_request(url, method=None, data=None, suppress_errors=False):
    response = _base_http_request(url, method, data or {})
    ERROR = PLAID_ERROR_MAP.get(response.status_code)
    if not suppress_errors and ERROR is not None:
        json_data = to_json(response)
        raise ERROR(json_data['resolve'], json_data['code'])
    else:
        return response
예제 #6
0
def http_request(url, method=None, data=None, suppress_errors=False):
    response = _base_http_request(url, method, data or {})
    ERROR = PLAID_ERROR_MAP.get(response.status_code)
    if not suppress_errors and ERROR is not None:
        json_data = to_json(response)
        raise ERROR(json_data['resolve'], json_data['code'])
    else:
        return response
예제 #7
0
def test_connect_mfa_list():
    client = Client('test_id', 'test_secret')
    # These credentials erroneously still force mfa in the sandbox
    # Should disambiguate by disallowing institution on API level
    # for this particular calling
    response = client.connect('chase', no_mfa_credentials)
    assert response.status_code == 201
    assert to_json(response)['type'] == 'list'
예제 #8
0
def test_connect_mfa_list():
    client = Client('test_id', 'test_secret')
    # These credentials erroneously still force mfa in the sandbox
    # Should disambiguate by disallowing institution on API level
    # for this particular calling
    response = client.connect('chase', no_mfa_credentials)
    assert response.status_code == 201
    assert to_json(response)['type'] == 'list'
예제 #9
0
def test_ResourceNotFound_categories_with_suppressed_error():
    Client.config({'suppress_http_errors': True})
    client = Client('test_id', 'test_secret')
    response = client.category('pnc')
    assert response.status_code == 404
    assert (
        to_json(response)['message'] == 'unable to find category'
    )
예제 #10
0
 def inner_func(self, *args, **kwargs):
     response = func(self, *args, **kwargs)
     if response.ok:
         json_data = to_json(response)
         self.access_token = json_data.get(
             'access_token',
             self.access_token
         )
     return response
예제 #11
0
def test_exchange():
    client = Client('test_id', 'test_secret')
    response = client.exchange_token('test,chase,connected')
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_chase'
    assert client.access_token == 'test_chase'
예제 #12
0
def test_connect_step_question_loop():
    client = Client('test_id', 'test_secret', access_token='test_bofa')
    response = client.connect_step('bofa', 'again')
    assert response.status_code == 201
    assert to_json(response)['type'] == 'questions'
예제 #13
0
def test_upgrade():
    client = Client('test_id', 'test_secret', access_token='test_bofa')
    response = client.upgrade('info')
    assert response.status_code == 200
    assert 'info' in to_json(response).keys()
예제 #14
0
def test_institution_search_with_bad_id():
    client = Client('test_id', 'test_secret')
    response = client.institution_search(institution_id='bad')
    assert response.status_code == 200
    assert len(to_json(response)) == 0
예제 #15
0
def test_institution():
    client = Client('test_id', 'test_secret')
    response = client.institution(to_json(client.institutions())[0]['id'])

    assert response.status_code == 200
예제 #16
0
def test_institution_search_with_bad_id():
    client = Client('test_id', 'test_secret')
    response = client.institution_search(institution_id='bad')
    assert response.status_code == 200
    assert len(to_json(response)) == 0
예제 #17
0
def test_institution_search_with_bad_product():
    client = Client('test_id', 'test_secret')
    response = client.institution_search('wells fargo', 'bad')
    assert response.status_code == 200
    assert len(to_json(response)) == 0
예제 #18
0
def test_connect_mfa_question():
    client = Client('test_id', 'test_secret')
    response = client.connect('bofa', no_mfa_credentials)
    assert response.status_code == 201
    assert to_json(response)['type'] == 'questions'
예제 #19
0
def test_auth_no_mfa():
    client = Client('test_id', 'test_secret')
    response = client.auth('wells', no_mfa_credentials)
    assert to_json(response)['access_token'] == 'test_wells'
예제 #20
0
def test_auth_delete():
    client = Client('test_id', 'test_secret', access_token='test_chase')
    response = client.auth_delete()
    assert response.status_code == 200
    assert to_json(response)['message'] == 'Successfully removed from system'
예제 #21
0
def test_connect_no_mfa():
    client = Client('test_id', 'test_secret')
    response = client.connect('amex', no_mfa_credentials)
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_amex'
예제 #22
0
def test_auth_step():
    client = Client('test_id', 'test_secret', access_token='test_pnc')
    response = client.auth_step('pnc', 'tomato')
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_pnc'
예제 #23
0
def test_ResourceNotFound_categories_with_suppressed_error():
    Client.config({'suppress_http_errors': True})
    client = Client('test_id', 'test_secret')
    response = client.category('pnc')
    assert response.status_code == 404
    assert (to_json(response)['message'] == 'unable to find category')
예제 #24
0
def test_auth_mfa():
    client = Client('test_id', 'test_secret')
    response = client.auth('pnc', no_mfa_credentials)
    assert response.status_code == 201
    assert to_json(response)['type'] == 'questions'
예제 #25
0
def test_auth_no_mfa():
    client = Client('test_id', 'test_secret')
    response = client.auth('wells', no_mfa_credentials)
    assert to_json(response)['access_token'] == 'test_wells'
예제 #26
0
def test_connect_step_question():
    client = Client('test_id', 'test_secret', access_token='test_bofa')
    response = client.connect_step('bofa', 'tomato')
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_bofa'
예제 #27
0
def test_get_info():
    client = Client('test_id', 'test_secret', access_token='test_bofa')
    response = client.info_get()
    assert response.status_code == 200
    assert 'info' in to_json(response)
    assert 'names' in to_json(response)['info']
예제 #28
0
def test_auth_step():
    client = Client('test_id', 'test_secret', access_token='test_pnc')
    response = client.auth_step('pnc', 'tomato')
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_pnc'
예제 #29
0
def test_institution_search_with_multi_tokens():
    client = Client('test_id', 'test_secret')
    response = client.institution_search('wells fargo', 'auth')
    assert response.status_code == 200
    assert to_json(response)[0]['name'] == 'Wells Fargo'
예제 #30
0
def test_connect_no_mfa():
    client = Client('test_id', 'test_secret')
    response = client.connect('amex', no_mfa_credentials)
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_amex'
예제 #31
0
def test_auth_mfa():
    client = Client('test_id', 'test_secret')
    response = client.auth('pnc', no_mfa_credentials)
    assert response.status_code == 201
    assert to_json(response)['type'] == 'questions'
예제 #32
0
def test_exchange():
    client = Client('test_id', 'test_secret')
    response = client.exchange_token('test,chase,connected')
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_chase'
    assert client.access_token == 'test_chase'
예제 #33
0
def test_connect_step_question_loop():
    client = Client('test_id', 'test_secret', access_token='test_bofa')
    response = client.connect_step('bofa', 'again')
    assert response.status_code == 201
    assert to_json(response)['type'] == 'questions'
예제 #34
0
def test_get_info():
    client = Client('test_id', 'test_secret', access_token='test_bofa')
    response = client.info_get()
    assert response.status_code == 200
    assert 'info' in to_json(response)
    assert 'names' in to_json(response)['info']
예제 #35
0
def test_auth_delete():
    client = Client('test_id', 'test_secret', access_token='test_chase')
    response = client.auth_delete()
    assert response.status_code == 200
    assert to_json(response)['message'] == 'Successfully removed from system'
예제 #36
0
def test_risk_step():
    client = Client('test_id', 'test_secret', access_token='test_chase')
    response = client.risk_step('chase', '1234')
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_chase'
예제 #37
0
def test_connect_mfa_question():
    client = Client('test_id', 'test_secret')
    response = client.connect('bofa', no_mfa_credentials)
    assert response.status_code == 201
    assert to_json(response)['type'] == 'questions'
예제 #38
0
def test_institution_search_with_bad_product():
    client = Client('test_id', 'test_secret')
    response = client.institution_search('wells fargo', 'bad')
    assert response.status_code == 200
    assert len(to_json(response)) == 0
예제 #39
0
def test_connect_step_question():
    client = Client('test_id', 'test_secret', access_token='test_bofa')
    response = client.connect_step('bofa', 'tomato')
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_bofa'
예제 #40
0
def test_upgrade():
    client = Client('test_id', 'test_secret', access_token='test_bofa')
    response = client.upgrade('info')
    assert response.status_code == 200
    assert 'info' in to_json(response).keys()
예제 #41
0
def test_institution_search_with_multi_tokens():
    client = Client('test_id', 'test_secret')
    response = client.institution_search('wells fargo', 'auth')
    assert response.status_code == 200
    assert to_json(response)[0]['name'] == 'Wells Fargo'
예제 #42
0
def test_risk_step():
    client = Client('test_id', 'test_secret', access_token='test_chase')
    response = client.risk_step('chase', '1234')
    assert response.status_code == 200
    assert to_json(response)['access_token'] == 'test_chase'