Skip to content

Commit

Permalink
Test nested resources
Browse files Browse the repository at this point in the history
  • Loading branch information
richardm-stripe committed Sep 13, 2023
1 parent 0352e69 commit 296ba8e
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 5 deletions.
77 changes: 77 additions & 0 deletions call_nested_resource_methods.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
from inspect import signature
import stripe

methods = [
(stripe.Account.retrieve_capability, 2),
(stripe.Account.modify_capability, 2),
(stripe.Account.list_capabilities, 1),
(stripe.Account.create_external_account, 1),
(stripe.Account.retrieve_external_account, 2),
(stripe.Account.modify_external_account, 2),
(stripe.Account.delete_external_account, 2),
(stripe.Account.list_external_accounts, 1),
(stripe.Account.create_login_link, 1),
(stripe.Account.create_person, 1),
(stripe.Account.retrieve_person, 2),
(stripe.Account.modify_person, 2),
(stripe.Account.delete_person, 2),
(stripe.Account.list_persons, 1),
(stripe.ApplicationFee.create_refund, 1),
(stripe.ApplicationFee.retrieve_refund, 2),
(stripe.ApplicationFee.modify_refund, 2),
(stripe.ApplicationFee.list_refunds, 1),
(stripe.CreditNote.list_lines, 1),
(stripe.Customer.create_balance_transaction, 1),
(stripe.Customer.retrieve_balance_transaction, 2),
(stripe.Customer.modify_balance_transaction, 2),
(stripe.Customer.list_balance_transactions, 1),
(stripe.Customer.retrieve_cash_balance_transaction, 2),
(stripe.Customer.list_cash_balance_transactions, 1),
(stripe.Customer.create_source, 1),
(stripe.Customer.retrieve_source, 2),
(stripe.Customer.modify_source, 2),
(stripe.Customer.delete_source, 2),
(stripe.Customer.list_sources, 1),
(stripe.Customer.create_tax_id, 1),
(stripe.Customer.retrieve_tax_id, 2),
(stripe.Customer.delete_tax_id, 2),
(stripe.Customer.list_tax_ids, 1),
(stripe.SubscriptionItem.create_usage_record, 1),
(stripe.SubscriptionItem.list_usage_record_summaries, 1),
(stripe.Transfer.create_reversal, 1),
(stripe.Transfer.retrieve_reversal, 2),
(stripe.Transfer.modify_reversal, 2),
(stripe.Transfer.list_reversals, 1),
]

for method, n_ids in methods:
if n_ids == 1:
method(
"id",
api_key="a",
idempotency_key="b",
stripe_version="c",
stripe_account="d",
foo="bar",
bar="baz",
)
method("id", foo="bar", bar="baz")
method(
"id",
)
if n_ids == 2:
method(
"id",
"id_2",
api_key="a",
idempotency_key="b",
stripe_version="c",
stripe_account="d",
foo="bar",
bar="baz",
)
method("id", "id_2", foo="bar", bar="baz")
method(
"id",
"id_2",
)
28 changes: 23 additions & 5 deletions stripe/api_resources/abstract/api_resource.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,18 +132,36 @@ def _static_request(
)
headers = util.read_special_variable(params, "headers", None)

requestor = api_requestor.APIRequestor(
api_key, api_version=stripe_version, account=stripe_account
# requestor = api_requestor.APIRequestor(
# api_key, api_version=stripe_version, account=stripe_account
# )
print(
"api_requestor.APIRequestor constructed with api_key: ",
api_key,
" api_version: ",
stripe_version,
" account: ",
stripe_account,
)

if idempotency_key is not None:
headers = {} if headers is None else headers.copy()
headers.update(util.populate_headers(idempotency_key)) # type: ignore

response, api_key = requestor.request(method_, url_, params, headers)
return util.convert_to_stripe_object(
response, api_key, stripe_version, stripe_account, params
# response, api_key = requestor.request(method_, url_, params, headers)
print(
"request called with method: ",
method_,
" url: ",
url_,
" params: ",
params,
" headers: ",
headers,
)
# return util.convert_to_stripe_object(
# response, api_key, stripe_version, stripe_account, params
# )

# The `method_` and `url_` arguments are suffixed with an underscore to
# avoid conflicting with actual request parameters in `params`.
Expand Down

0 comments on commit 296ba8e

Please sign in to comment.