From 34913ab4a6117f93b973d00131634fbb14be6143 Mon Sep 17 00:00:00 2001 From: pakrym-stripe <99349468+pakrym-stripe@users.noreply.github.com> Date: Wed, 6 Jul 2022 12:34:46 -0700 Subject: [PATCH] Codegen for openapi v162 (#835) --- OPENAPI_VERSION | 2 +- stripe/api_resources/credit_note.py | 21 +++++++++++---------- stripe/api_resources/invoice.py | 27 ++++++++++++++------------- stripe/api_resources/source.py | 13 +++++++++++-- tests/test_generated_examples.py | 17 +++++++++++++++++ 5 files changed, 54 insertions(+), 26 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 515f433c0..b164d836d 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v161 \ No newline at end of file +v162 \ No newline at end of file diff --git a/stripe/api_resources/credit_note.py b/stripe/api_resources/credit_note.py index 27b46775e..01d2b0a15 100644 --- a/stripe/api_resources/credit_note.py +++ b/stripe/api_resources/credit_note.py @@ -17,14 +17,6 @@ class CreditNote( ): OBJECT_NAME = "credit_note" - def void_credit_note(self, idempotency_key=None, **params): - url = "/v1/credit_notes/{id}/void".format( - id=util.sanitize_id(self.get("id")) - ) - headers = util.populate_headers(idempotency_key) - self.refresh_from(self.request("post", url, params, headers)) - return self - @classmethod def preview( cls, api_key=None, stripe_version=None, stripe_account=None, **params @@ -32,8 +24,17 @@ def preview( requestor = api_requestor.APIRequestor( api_key, api_version=stripe_version, account=stripe_account ) - url = cls.class_url() + "/preview" + url = "/v1/credit_notes/preview" response, api_key = requestor.request("get", url, params) - return util.convert_to_stripe_object( + stripe_object = util.convert_to_stripe_object( response, api_key, stripe_version, stripe_account ) + return stripe_object + + def void_credit_note(self, idempotency_key=None, **params): + url = "/v1/credit_notes/{id}/void".format( + id=util.sanitize_id(self.get("id")) + ) + headers = util.populate_headers(idempotency_key) + self.refresh_from(self.request("post", url, params, headers)) + return self diff --git a/stripe/api_resources/invoice.py b/stripe/api_resources/invoice.py index 2ab4ded4d..5864e4a68 100644 --- a/stripe/api_resources/invoice.py +++ b/stripe/api_resources/invoice.py @@ -57,6 +57,20 @@ def send_invoice(self, idempotency_key=None, **params): self.refresh_from(self.request("post", url, params, headers)) return self + @classmethod + def upcoming( + cls, api_key=None, stripe_version=None, stripe_account=None, **params + ): + requestor = api_requestor.APIRequestor( + api_key, api_version=stripe_version, account=stripe_account + ) + url = "/v1/invoices/upcoming" + response, api_key = requestor.request("get", url, params) + stripe_object = util.convert_to_stripe_object( + response, api_key, stripe_version, stripe_account + ) + return stripe_object + def void_invoice(self, idempotency_key=None, **params): url = "/v1/invoices/{invoice}/void".format( invoice=util.sanitize_id(self.get("id")) @@ -72,16 +86,3 @@ def search(cls, *args, **kwargs): @classmethod def search_auto_paging_iter(cls, *args, **kwargs): return cls.search(*args, **kwargs).auto_paging_iter() - - @classmethod - def upcoming( - cls, api_key=None, stripe_version=None, stripe_account=None, **params - ): - requestor = api_requestor.APIRequestor( - api_key, api_version=stripe_version, account=stripe_account - ) - url = cls.class_url() + "/upcoming" - response, api_key = requestor.request("get", url, params) - return util.convert_to_stripe_object( - response, api_key, stripe_version, stripe_account - ) diff --git a/stripe/api_resources/source.py b/stripe/api_resources/source.py index 1014b1573..d0bed0803 100644 --- a/stripe/api_resources/source.py +++ b/stripe/api_resources/source.py @@ -6,15 +6,24 @@ from stripe.api_resources import Customer from stripe.api_resources.abstract import CreateableAPIResource from stripe.api_resources.abstract import UpdateableAPIResource -from stripe.api_resources.abstract import VerifyMixin +from stripe.api_resources.abstract import custom_method from stripe.api_resources.abstract import nested_resource_class_methods from stripe.six.moves.urllib.parse import quote_plus +@custom_method("verify", http_verb="post") @nested_resource_class_methods("source_transaction", operations=["list"]) -class Source(CreateableAPIResource, UpdateableAPIResource, VerifyMixin): +class Source(CreateableAPIResource, UpdateableAPIResource): OBJECT_NAME = "source" + def verify(self, idempotency_key=None, **params): + url = "/v1/sources/{source}/verify".format( + source=util.sanitize_id(self.get("id")) + ) + headers = util.populate_headers(idempotency_key) + self.refresh_from(self.request("post", url, params, headers)) + return self + def detach(self, idempotency_key=None, **params): token = util.utf8(self.id) diff --git a/tests/test_generated_examples.py b/tests/test_generated_examples.py index 89d2e51fa..9d60479cf 100644 --- a/tests/test_generated_examples.py +++ b/tests/test_generated_examples.py @@ -147,6 +147,10 @@ def test_financial_connections_session_retrieve(self, request_mock): "/v1/financial_connections/sessions/fcsess_xyz", ) + def test_invoice_upcoming(self, request_mock): + stripe.Invoice.upcoming(customer="cus_9utnxg47pWjV1e") + request_mock.assert_requested("get", "/v1/invoices/upcoming") + def test_order_create(self, request_mock): stripe.Order.create( description="description", @@ -736,6 +740,19 @@ def test_creditnote_void_credit_note(self, request_mock): "/v1/credit_notes/cn_xxxxxxxxxxxxx/void", ) + def test_creditnote_preview(self, request_mock): + stripe.CreditNote.preview( + invoice="in_xxxxxxxxxxxxx", + lines=[ + { + "type": "invoice_line_item", + "invoice_line_item": "il_xxxxxxxxxxxxx", + "quantity": 1, + }, + ], + ) + request_mock.assert_requested("get", "/v1/credit_notes/preview") + def test_customer_list(self, request_mock): stripe.Customer.list(limit=3) request_mock.assert_requested("get", "/v1/customers")