diff --git a/corporate/lib/stripe.py b/corporate/lib/stripe.py index f57a777267..9cbee11e74 100644 --- a/corporate/lib/stripe.py +++ b/corporate/lib/stripe.py @@ -356,6 +356,8 @@ def process_billing_log_entry(processor: BillingProcessor, log_row: RealmAuditLo customer = Customer.objects.get(realm=log_row.realm) timestamp = datetime_to_timestamp(log_row.event_time) idempotency_key = 'process_billing_log_entry:%s' % (log_row.id,) + if settings.TEST_SUITE: + idempotency_key += '+' + generate_random_token(10) extra_args = {} # type: Dict[str, Any] if log_row.extra_data is not None: extra_args = ujson.loads(log_row.extra_data) diff --git a/corporate/tests/test_stripe.py b/corporate/tests/test_stripe.py index 75fb453dd0..2fae88aef7 100644 --- a/corporate/tests/test_stripe.py +++ b/corporate/tests/test_stripe.py @@ -795,7 +795,8 @@ class StripeTest(ZulipTestCase): self.assertEqual(subscription.quantity, quantity) log_row = RealmAuditLog.objects.filter( event_type=event_type, requires_billing_update=True).order_by('-id').first() - self.assertEqual(idempotency_key, 'process_billing_log_entry:%s' % (log_row.id,)) + self.assertEqual(idempotency_key.split('+')[0], + 'process_billing_log_entry:%s' % (log_row.id,)) self.assertEqual(subscription.proration_date, datetime_to_timestamp(log_row.event_time)) with patch.object(stripe.Subscription, 'save', autospec=True, side_effect=check_subscription_save):