Skip to content

Commit f77a11d

Browse files
Add more abstract exports tests (#1143)
1 parent 34930ea commit f77a11d

File tree

3 files changed

+62
-6
lines changed

3 files changed

+62
-6
lines changed

stripe/api_resources/abstract/custom_method.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1+
from typing import Optional
12
from stripe import util
23
from urllib.parse import quote_plus
34

45

5-
def custom_method(name, http_verb, http_path=None, is_streaming=False):
6+
def custom_method(
7+
name: str,
8+
http_verb: str,
9+
http_path: Optional[str] = None,
10+
is_streaming=False,
11+
):
612
if http_verb not in ["get", "post", "delete"]:
713
raise ValueError(
814
"Invalid http_verb: %s. Must be one of 'get', 'post' or 'delete'"

stripe/api_resources/abstract/nested_resource_class_methods.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import List, Optional
12
from urllib.parse import quote_plus
23

34
from stripe.api_resources.abstract import APIResource
@@ -6,7 +7,10 @@
67
# TODO(major): Remove this. It is no longer used except for "nested_resource_url" and "nested_resource_request",
78
# which are unnecessary ande deprecated.
89
def nested_resource_class_methods(
9-
resource, path=None, operations=None, resource_plural=None
10+
resource: str,
11+
path: Optional[str] = None,
12+
operations: Optional[List[str]] = None,
13+
resource_plural: Optional[str] = None,
1014
):
1115
if resource_plural is None:
1216
resource_plural = "%ss" % resource

tests/test_exports.py

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# pyright: strict
2+
from typing import Any
23
import stripe
34

45

@@ -50,17 +51,62 @@ def test_can_import_misc_resources() -> None:
5051

5152

5253
def test_can_import_abstract() -> None:
53-
from stripe.api_resources.abstract import (
54-
APIResource as APIResourceFromApiResourcesAbstract,
55-
)
54+
# fmt: off
55+
from stripe.api_resources.abstract import APIResource as APIResourceFromAbs
56+
from stripe.api_resources.abstract import SingletonAPIResource as SingletonFromAbs
57+
from stripe.api_resources.abstract import CreateableAPIResource as CreateableFromAbs
58+
from stripe.api_resources.abstract import UpdateableAPIResource as UpdateableFromAbs
59+
from stripe.api_resources.abstract import DeletableAPIResource as DeletableFromAbs
60+
from stripe.api_resources.abstract import ListableAPIResource as ListableFromAbs
61+
from stripe.api_resources.abstract import SearchableAPIResource as SearchableFromAbs
62+
from stripe.api_resources.abstract import VerifyMixin as VerifyMixinFromAbstract
63+
from stripe.api_resources.abstract import custom_method as custom_methodFromAbstract
64+
from stripe.api_resources.abstract import APIResourceTestHelpers as APIResourceTestHelpersFromAbstract
65+
from stripe.api_resources.abstract import nested_resource_class_methods as nested_resource_class_methodsFromAbstract
66+
# fmt: on
67+
5668
from stripe.stripe_object import (
5769
StripeObject,
5870
)
5971

6072
assert (
61-
APIResourceFromApiResourcesAbstract[StripeObject]
73+
APIResourceFromAbs[StripeObject]
6274
== stripe.abstract.APIResource[StripeObject]
6375
)
76+
assert (
77+
stripe.abstract.SingletonAPIResource[StripeObject]
78+
== SingletonFromAbs[StripeObject]
79+
)
80+
assert (
81+
stripe.abstract.CreateableAPIResource[StripeObject]
82+
== CreateableFromAbs[StripeObject]
83+
)
84+
assert (
85+
stripe.abstract.UpdateableAPIResource[StripeObject]
86+
== UpdateableFromAbs[StripeObject]
87+
)
88+
assert (
89+
stripe.abstract.DeletableAPIResource[StripeObject]
90+
== DeletableFromAbs[StripeObject]
91+
)
92+
assert (
93+
stripe.abstract.ListableAPIResource[StripeObject]
94+
== ListableFromAbs[StripeObject]
95+
)
96+
assert (
97+
stripe.abstract.SearchableAPIResource[StripeObject]
98+
== SearchableFromAbs[StripeObject]
99+
)
100+
assert stripe.abstract.VerifyMixin is VerifyMixinFromAbstract
101+
assert stripe.abstract.custom_method is custom_methodFromAbstract
102+
assert (
103+
stripe.abstract.APIResourceTestHelpers[Any]
104+
is APIResourceTestHelpersFromAbstract[Any]
105+
)
106+
assert (
107+
stripe.abstract.nested_resource_class_methods
108+
is nested_resource_class_methodsFromAbstract
109+
)
64110

65111

66112
def test_can_import_app_info() -> None:

0 commit comments

Comments
 (0)