Skip to content

Commit

Permalink
Add more abstract exports tests (#1143)
Browse files Browse the repository at this point in the history
  • Loading branch information
pakrym-stripe authored Nov 20, 2023
1 parent 34930ea commit f77a11d
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 6 deletions.
8 changes: 7 additions & 1 deletion stripe/api_resources/abstract/custom_method.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
from typing import Optional
from stripe import util
from urllib.parse import quote_plus


def custom_method(name, http_verb, http_path=None, is_streaming=False):
def custom_method(
name: str,
http_verb: str,
http_path: Optional[str] = None,
is_streaming=False,
):
if http_verb not in ["get", "post", "delete"]:
raise ValueError(
"Invalid http_verb: %s. Must be one of 'get', 'post' or 'delete'"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from typing import List, Optional
from urllib.parse import quote_plus

from stripe.api_resources.abstract import APIResource
Expand All @@ -6,7 +7,10 @@
# TODO(major): Remove this. It is no longer used except for "nested_resource_url" and "nested_resource_request",
# which are unnecessary ande deprecated.
def nested_resource_class_methods(
resource, path=None, operations=None, resource_plural=None
resource: str,
path: Optional[str] = None,
operations: Optional[List[str]] = None,
resource_plural: Optional[str] = None,
):
if resource_plural is None:
resource_plural = "%ss" % resource
Expand Down
54 changes: 50 additions & 4 deletions tests/test_exports.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# pyright: strict
from typing import Any
import stripe


Expand Down Expand Up @@ -50,17 +51,62 @@ def test_can_import_misc_resources() -> None:


def test_can_import_abstract() -> None:
from stripe.api_resources.abstract import (
APIResource as APIResourceFromApiResourcesAbstract,
)
# fmt: off
from stripe.api_resources.abstract import APIResource as APIResourceFromAbs
from stripe.api_resources.abstract import SingletonAPIResource as SingletonFromAbs
from stripe.api_resources.abstract import CreateableAPIResource as CreateableFromAbs
from stripe.api_resources.abstract import UpdateableAPIResource as UpdateableFromAbs
from stripe.api_resources.abstract import DeletableAPIResource as DeletableFromAbs
from stripe.api_resources.abstract import ListableAPIResource as ListableFromAbs
from stripe.api_resources.abstract import SearchableAPIResource as SearchableFromAbs
from stripe.api_resources.abstract import VerifyMixin as VerifyMixinFromAbstract
from stripe.api_resources.abstract import custom_method as custom_methodFromAbstract
from stripe.api_resources.abstract import APIResourceTestHelpers as APIResourceTestHelpersFromAbstract
from stripe.api_resources.abstract import nested_resource_class_methods as nested_resource_class_methodsFromAbstract
# fmt: on

from stripe.stripe_object import (
StripeObject,
)

assert (
APIResourceFromApiResourcesAbstract[StripeObject]
APIResourceFromAbs[StripeObject]
== stripe.abstract.APIResource[StripeObject]
)
assert (
stripe.abstract.SingletonAPIResource[StripeObject]
== SingletonFromAbs[StripeObject]
)
assert (
stripe.abstract.CreateableAPIResource[StripeObject]
== CreateableFromAbs[StripeObject]
)
assert (
stripe.abstract.UpdateableAPIResource[StripeObject]
== UpdateableFromAbs[StripeObject]
)
assert (
stripe.abstract.DeletableAPIResource[StripeObject]
== DeletableFromAbs[StripeObject]
)
assert (
stripe.abstract.ListableAPIResource[StripeObject]
== ListableFromAbs[StripeObject]
)
assert (
stripe.abstract.SearchableAPIResource[StripeObject]
== SearchableFromAbs[StripeObject]
)
assert stripe.abstract.VerifyMixin is VerifyMixinFromAbstract
assert stripe.abstract.custom_method is custom_methodFromAbstract
assert (
stripe.abstract.APIResourceTestHelpers[Any]
is APIResourceTestHelpersFromAbstract[Any]
)
assert (
stripe.abstract.nested_resource_class_methods
is nested_resource_class_methodsFromAbstract
)


def test_can_import_app_info() -> None:
Expand Down

0 comments on commit f77a11d

Please sign in to comment.