Skip to content

Commit a2c2d3c

Browse files
Formatting & types
1 parent 5f976d4 commit a2c2d3c

File tree

3 files changed

+19
-19
lines changed

3 files changed

+19
-19
lines changed

scripts/reconcile_stripe_subscriptions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import re
55
import sys
66
from csv import DictReader
7+
from typing import List
78

89
import requests
910
import stripe
10-
from typing import List
1111

1212
stripe.api_key = os.environ["STRIPE_API_TOKEN"]
1313
MESHDB_API_TOKEN = os.environ["MESHDB_API_TOKEN"]

src/meshapi/tests/test_stripe_helpers.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
from unittest.mock import patch, MagicMock
1+
from unittest.mock import MagicMock, patch
22

33
import pytest
4-
import stripe.error
4+
import stripe
55
from django.test import TestCase
66

77
from meshapi.util.events.update_stripe_subscription import (
88
add_install_to_subscription,
9-
remove_install_from_subscription,
109
fetch_existing_installs,
10+
remove_install_from_subscription,
1111
)
1212

1313

@@ -34,7 +34,7 @@ def test_fetch_many(self, mock_stripe):
3434

3535
@patch("meshapi.util.events.update_stripe_subscription.stripe.Subscription")
3636
def test_fetch_non_existent(self, mock_stripe_Subscription):
37-
mock_stripe_Subscription.retrieve.side_effect = stripe.error.InvalidRequestError(
37+
mock_stripe_Subscription.retrieve.side_effect = stripe.InvalidRequestError(
3838
"foo_message", "foo_param", http_status=404
3939
)
4040

@@ -43,7 +43,7 @@ def test_fetch_non_existent(self, mock_stripe_Subscription):
4343

4444
@patch("meshapi.util.events.update_stripe_subscription.stripe.Subscription")
4545
def test_fetch_other_invalid(self, mock_stripe_Subscription):
46-
mock_stripe_Subscription.retrieve.side_effect = stripe.error.InvalidRequestError("foo_message", "foo_param")
46+
mock_stripe_Subscription.retrieve.side_effect = stripe.InvalidRequestError("foo_message", "foo_param")
4747

4848
with pytest.raises(RuntimeError):
4949
fetch_existing_installs("sub_mockid")
@@ -53,7 +53,7 @@ def test_fetch_other_invalid(self, mock_stripe_Subscription):
5353

5454
@patch("meshapi.util.events.update_stripe_subscription.stripe.Subscription")
5555
def test_fetch_other_error(self, mock_stripe_Subscription):
56-
mock_stripe_Subscription.retrieve.side_effect = stripe.error.PermissionError
56+
mock_stripe_Subscription.retrieve.side_effect = stripe.PermissionError
5757

5858
with pytest.raises(RuntimeError):
5959
fetch_existing_installs("sub_mockid")
@@ -98,7 +98,7 @@ def test_add_to_non_existent_subscription(self, mock_stripe, mock_fetch_existing
9898
def test_add_throws_exception(self, mock_stripe_Subscription, mock_fetch_existing_installs):
9999
mock_fetch_existing_installs.return_value = []
100100

101-
mock_stripe_Subscription.modify.side_effect = stripe.error.PermissionError
101+
mock_stripe_Subscription.modify.side_effect = stripe.PermissionError
102102

103103
with pytest.raises(RuntimeError):
104104
add_install_to_subscription(1234, "sub_mockid")
@@ -146,7 +146,7 @@ def test_remove_from_non_existent_subscription(self, mock_stripe, mock_fetch_exi
146146
def test_remove_throws_exception(self, mock_stripe_Subscription, mock_fetch_existing_installs):
147147
mock_fetch_existing_installs.return_value = [1234]
148148

149-
mock_stripe_Subscription.modify.side_effect = stripe.error.PermissionError
149+
mock_stripe_Subscription.modify.side_effect = stripe.PermissionError
150150

151151
with pytest.raises(RuntimeError):
152152
remove_install_from_subscription(1234, "sub_mockid")

src/meshapi/util/events/update_stripe_subscription.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from django.db.models.signals import post_save
99
from django.dispatch import receiver
1010

11-
from meshapi.models import Install, Node
11+
from meshapi.models import Install
1212
from meshapi.serializers import InstallSerializer
1313
from meshapi.util.admin_notifications import notify_administrators_of_data_issue
1414
from meshapi.util.django_flag_decorator import skip_if_flag_disabled
@@ -19,18 +19,18 @@
1919

2020
def fetch_existing_installs(subscription_id: str) -> Optional[List[int]]:
2121
attempts = 0
22-
stripe_error = None
22+
stripe_error: Optional[Exception] = None
2323
while attempts < 4:
2424
attempts += 1
2525

2626
try:
2727
subscription = stripe.Subscription.retrieve(subscription_id)
2828
return [int(install_num) for install_num in subscription.metadata.get("installs", "").split(",")]
29-
except stripe.error.InvalidRequestError as e:
29+
except stripe.InvalidRequestError as e:
3030
if e.http_status == 404:
3131
return None
3232
stripe_error = e
33-
except stripe.error.StripeError as e:
33+
except stripe.StripeError as e:
3434
stripe_error = e
3535

3636
time.sleep(1)
@@ -53,7 +53,7 @@ def remove_install_from_subscription(install_number: int, subscription_id: str)
5353
return
5454

5555
attempts = 0
56-
stripe_error = None
56+
stripe_error: Optional[Exception] = None
5757
while attempts < 4:
5858
attempts += 1
5959

@@ -67,7 +67,7 @@ def remove_install_from_subscription(install_number: int, subscription_id: str)
6767
},
6868
)
6969
return
70-
except stripe.error.StripeError as e:
70+
except stripe.StripeError as e:
7171
stripe_error = e
7272

7373
time.sleep(1)
@@ -77,7 +77,7 @@ def remove_install_from_subscription(install_number: int, subscription_id: str)
7777
) from stripe_error
7878

7979

80-
def add_install_to_subscription(install_number: int, subscription_id: str):
80+
def add_install_to_subscription(install_number: int, subscription_id: str) -> None:
8181
logging.info(f"Adding install number {install_number} to Stripe subscription_id {subscription_id}...")
8282
existing_installs = fetch_existing_installs(subscription_id)
8383

@@ -92,7 +92,7 @@ def add_install_to_subscription(install_number: int, subscription_id: str):
9292
existing_installs.append(install_number)
9393

9494
attempts = 0
95-
stripe_error = None
95+
stripe_error: Optional[Exception] = None
9696
while attempts < 4:
9797
attempts += 1
9898

@@ -101,7 +101,7 @@ def add_install_to_subscription(install_number: int, subscription_id: str):
101101
subscription_id, metadata={"installs": ",".join(str(install) for install in sorted(existing_installs))}
102102
)
103103
return
104-
except stripe.error.StripeError as e:
104+
except stripe.StripeError as e:
105105
stripe_error = e
106106

107107
time.sleep(1)
@@ -148,7 +148,7 @@ def update_stripe_subscription_on_install_update(
148148
add_install_to_subscription(install.install_number, current_stripe_subscription_id)
149149
except RuntimeError:
150150
error_summary = (
151-
f"Fatal exception (after retries) when trying to update the Stripe subscription(s): "
151+
"Fatal exception (after retries) when trying to update the Stripe subscription(s): "
152152
+ f"{[former_stripe_subscription_id, current_stripe_subscription_id]}"
153153
)
154154

0 commit comments

Comments
 (0)