Skip to content

Commit 1d1d3e7

Browse files
committed
fixing test cases
1 parent d3ed23c commit 1d1d3e7

File tree

2 files changed

+58
-17
lines changed

2 files changed

+58
-17
lines changed

test/resources/Account_test.py

Lines changed: 55 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ def test_create_ach_account(setup):
127127
'latest_verification_session': accounts_create_ach_response['latest_verification_session'],
128128
'products': ['payment'],
129129
'restricted_products': [],
130+
'subscriptions': [],
131+
'available_subscriptions': [],
132+
'restricted_subscriptions': [],
130133
'status': 'active',
131134
'error': None,
132135
'metadata': None,
@@ -149,8 +152,6 @@ def test_create_liability_account(setup):
149152
},
150153
})
151154

152-
accounts_create_liability_response['products'] = accounts_create_liability_response['products'].sort()
153-
154155
expect_results: Account = {
155156
'id': accounts_create_liability_response['id'],
156157
'holder_id': holder_1_response['id'],
@@ -171,7 +172,6 @@ def test_create_liability_account(setup):
171172
'card_brand': None,
172173
'payoff': None,
173174
'payment_instrument': None,
174-
'payoff': None,
175175
'products': accounts_create_liability_response['products'],
176176
'restricted_products': accounts_create_liability_response['restricted_products'],
177177
'subscriptions': accounts_create_liability_response['subscriptions'],
@@ -202,6 +202,9 @@ def test_retrieve_account(setup):
202202
'latest_verification_session': accounts_create_ach_response['latest_verification_session'],
203203
'products': ['payment'],
204204
'restricted_products': [],
205+
'subscriptions': [],
206+
'available_subscriptions': [],
207+
'restricted_subscriptions': [],
205208
'status': 'active',
206209
'error': None,
207210
'metadata': None,
@@ -279,7 +282,13 @@ def get_account_balances():
279282
@pytest.mark.asyncio
280283
async def test_list_balances(setup):
281284
test_credit_card_account = setup['test_credit_card_account']
282-
285+
286+
def get_balance_list():
287+
balances = method.accounts(test_credit_card_account['id']).balances.list()
288+
return balances[0] if balances else None
289+
290+
balances_list_response_item = await await_results(get_balance_list)
291+
283292
balances_list_response = method.accounts(test_credit_card_account['id']).balances.list()
284293

285294
expect_results: AccountBalance = {
@@ -417,7 +426,13 @@ def get_payoff():
417426
@pytest.mark.asyncio
418427
async def test_list_payoffs(setup):
419428
test_auto_loan_account = setup['test_auto_loan_account']
420-
429+
430+
def get_payoff_list():
431+
payoffs = method.accounts(test_auto_loan_account['id']).payoffs.list()
432+
return payoffs[0] if payoffs else None
433+
434+
payoff_list_response_item = await await_results(get_payoff_list)
435+
421436
payoff_list_response = method.accounts(test_auto_loan_account['id']).payoffs.list()
422437

423438
expect_results: AccountPayoff = {
@@ -911,11 +926,17 @@ def get_updates():
911926

912927

913928

914-
def test_list_updates_for_account(setup):
929+
@pytest.mark.asyncio
930+
async def test_list_updates_for_account(setup):
915931
test_credit_card_account = setup['test_credit_card_account']
916932

917-
list_updates_response = method.accounts(test_credit_card_account['id']).updates.list()
933+
def get_update_list():
934+
updates = method.accounts(test_credit_card_account['id']).updates.list()
935+
return next((update for update in updates if update['id'] == create_updates_response['id']), None)
936+
937+
update_to_check = await await_results(get_update_list)
918938

939+
list_updates_response = method.accounts(test_credit_card_account['id']).updates.list()
919940
update_to_check = next((update for update in list_updates_response if update['id'] == create_updates_response['id']), None)
920941

921942
expect_results: AccountUpdate = {
@@ -1089,15 +1110,35 @@ def test_list_account_products(setup):
10891110
'created_at': account_products_list_response.get('card_brand', {}).get('created_at', ''),
10901111
'updated_at': account_products_list_response.get('card_brand', {}).get('updated_at', ''),
10911112
},
1092-
'payment_instrument': {
1093-
'name': 'payment_instrument',
1113+
'payment_instrument.card': {
1114+
'name': 'payment_instrument.card',
1115+
'status': 'restricted',
1116+
'status_error': account_products_list_response.get('payment_instrument.card', {}).get('status_error', None),
1117+
'latest_request_id': account_products_list_response.get('payment_instrument.card', {}).get('latest_request_id', None),
1118+
'latest_successful_request_id': account_products_list_response.get('payment_instrument.card', {}).get('latest_successful_request_id', None),
1119+
'is_subscribable': True,
1120+
'created_at': account_products_list_response.get('payment_instrument.card', {}).get('created_at', ''),
1121+
'updated_at': account_products_list_response.get('payment_instrument.card', {}).get('updated_at', ''),
1122+
},
1123+
'payment_instrument.inbound_achwire_payment': {
1124+
'name': 'payment_instrument.inbound_achwire_payment',
1125+
'status': 'restricted',
1126+
'status_error': account_products_list_response.get('payment_instrument.inbound_achwire_payment', {}).get('status_error', None),
1127+
'latest_request_id': account_products_list_response.get('payment_instrument.inbound_achwire_payment', {}).get('latest_request_id', None),
1128+
'latest_successful_request_id': account_products_list_response.get('payment_instrument.inbound_achwire_payment', {}).get('latest_successful_request_id', None),
1129+
'is_subscribable': False,
1130+
'created_at': account_products_list_response.get('payment_instrument.inbound_achwire_payment', {}).get('created_at', ''),
1131+
'updated_at': account_products_list_response.get('payment_instrument.inbound_achwire_payment', {}).get('updated_at', ''),
1132+
},
1133+
'payment_instrument.network_token': {
1134+
'name': 'payment_instrument.network_token',
10941135
'status': 'restricted',
1095-
'status_error': account_products_list_response.get('payment_instrument', {}).get('status_error', None),
1096-
'latest_request_id': account_products_list_response.get('payment_instrument', {}).get('latest_request_id', None),
1097-
'latest_successful_request_id': account_products_list_response.get('payment_instrument', {}).get('latest_successful_request_id', None),
1136+
'status_error': account_products_list_response.get('payment_instrument.network_token', {}).get('status_error', None),
1137+
'latest_request_id': account_products_list_response.get('payment_instrument.network_token', {}).get('latest_request_id', None),
1138+
'latest_successful_request_id': account_products_list_response.get('payment_instrument.network_token', {}).get('latest_successful_request_id', None),
10981139
'is_subscribable': True,
1099-
'created_at': account_products_list_response.get('payment_instrument', {}).get('created_at', ''),
1100-
'updated_at': account_products_list_response.get('payment_instrument', {}).get('updated_at', ''),
1140+
'created_at': account_products_list_response.get('payment_instrument.network_token', {}).get('created_at', ''),
1141+
'updated_at': account_products_list_response.get('payment_instrument.network_token', {}).get('updated_at', ''),
11011142
}
11021143
}
11031144

test/resources/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ async def sleep(ms: int):
55

66
async def await_results(fn):
77
result = None
8-
retries = 25
8+
retries = 60 # Increased from 25 to 60 (5 minutes total)
99
while retries > 0:
1010
try:
1111
result = fn()
@@ -17,7 +17,7 @@ async def await_results(fn):
1717
raise error # Rethrow the error to fail the test
1818
retries -= 1
1919

20-
if result['status'] not in ['completed', 'failed']:
21-
raise Exception('Result status is not completed or failed')
20+
if result is None or result['status'] not in ['completed', 'failed']:
21+
raise Exception(f'Result status is not completed or failed. Current status: {result["status"] if result else "None"}. Retries exhausted.')
2222

2323
return result

0 commit comments

Comments
 (0)