|
3 | 3 | from typing import Optional
|
4 | 4 | import unittest
|
5 | 5 | from appstoreserverlibrary.models.AutoRenewStatus import AutoRenewStatus
|
| 6 | +from appstoreserverlibrary.models.ConsumptionRequestReason import ConsumptionRequestReason |
6 | 7 | from appstoreserverlibrary.models.Environment import Environment
|
7 | 8 | from appstoreserverlibrary.models.ExpirationIntent import ExpirationIntent
|
8 | 9 | from appstoreserverlibrary.models.InAppOwnershipType import InAppOwnershipType
|
@@ -133,6 +134,37 @@ def test_notification_decoding(self):
|
133 | 134 | self.assertEqual("signed_renewal_info_value", notification.data.signedRenewalInfo);
|
134 | 135 | self.assertEqual(Status.ACTIVE, notification.data.status)
|
135 | 136 | self.assertEqual(1, notification.data.rawStatus)
|
| 137 | + self.assertIsNone(notification.data.consumptionRequestReason) |
| 138 | + self.assertIsNone(notification.data.rawConsumptionRequestReason) |
| 139 | + |
| 140 | + def test_consumption_request_notification_decoding(self): |
| 141 | + signed_notification = create_signed_data_from_json('tests/resources/models/signedConsumptionRequestNotification.json') |
| 142 | + |
| 143 | + signed_data_verifier = get_default_signed_data_verifier() |
| 144 | + |
| 145 | + notification = signed_data_verifier.verify_and_decode_notification(signed_notification) |
| 146 | + |
| 147 | + self.assertEqual(NotificationTypeV2.CONSUMPTION_REQUEST, notification.notificationType) |
| 148 | + self.assertEqual("CONSUMPTION_REQUEST", notification.rawNotificationType) |
| 149 | + self.assertIsNone(notification.subtype) |
| 150 | + self.assertIsNone(notification.rawSubtype) |
| 151 | + self.assertEqual("002e14d5-51f5-4503-b5a8-c3a1af68eb20", notification.notificationUUID) |
| 152 | + self.assertEqual("2.0", notification.version) |
| 153 | + self.assertEqual(1698148900000, notification.signedDate) |
| 154 | + self.assertIsNotNone(notification.data) |
| 155 | + self.assertIsNone(notification.summary) |
| 156 | + self.assertIsNone(notification.externalPurchaseToken) |
| 157 | + self.assertEqual(Environment.LOCAL_TESTING, notification.data.environment) |
| 158 | + self.assertEqual("LocalTesting", notification.data.rawEnvironment) |
| 159 | + self.assertEqual(41234, notification.data.appAppleId) |
| 160 | + self.assertEqual("com.example", notification.data.bundleId) |
| 161 | + self.assertEqual("1.2.3", notification.data.bundleVersion) |
| 162 | + self.assertEqual("signed_transaction_info_value", notification.data.signedTransactionInfo) |
| 163 | + self.assertEqual("signed_renewal_info_value", notification.data.signedRenewalInfo); |
| 164 | + self.assertEqual(Status.ACTIVE, notification.data.status) |
| 165 | + self.assertEqual(1, notification.data.rawStatus) |
| 166 | + self.assertEqual(ConsumptionRequestReason.UNINTENDED_PURCHASE, notification.data.consumptionRequestReason) |
| 167 | + self.assertEqual("UNINTENDED_PURCHASE", notification.data.rawConsumptionRequestReason) |
136 | 168 |
|
137 | 169 | def test_summary_notification_decoding(self):
|
138 | 170 | signed_summary_notification = create_signed_data_from_json('tests/resources/models/signedSummaryNotification.json')
|
|
0 commit comments