Add durable platform event delivery contract
This commit is contained in:
@@ -21,6 +21,30 @@ class InstallConfigTests(unittest.TestCase):
|
||||
with self.assertRaises(ValidationError):
|
||||
Settings(CALENDAR_OUTBOX_TERMINAL_RETENTION_DAYS="-1")
|
||||
|
||||
def test_platform_event_outbox_limits_are_validated(self) -> None:
|
||||
defaults = Settings()
|
||||
self.assertEqual(defaults.platform_event_outbox_max_attempts, 8)
|
||||
self.assertEqual(
|
||||
defaults.platform_event_outbox_terminal_retention_days,
|
||||
90,
|
||||
)
|
||||
configured = Settings(
|
||||
PLATFORM_EVENT_OUTBOX_MAX_ATTEMPTS="12",
|
||||
PLATFORM_EVENT_OUTBOX_TERMINAL_RETENTION_DAYS="30",
|
||||
)
|
||||
self.assertEqual(configured.platform_event_outbox_max_attempts, 12)
|
||||
self.assertEqual(
|
||||
configured.platform_event_outbox_terminal_retention_days,
|
||||
30,
|
||||
)
|
||||
for values in (
|
||||
{"PLATFORM_EVENT_OUTBOX_MAX_ATTEMPTS": "0"},
|
||||
{"PLATFORM_EVENT_OUTBOX_MAX_ATTEMPTS": "101"},
|
||||
{"PLATFORM_EVENT_OUTBOX_TERMINAL_RETENTION_DAYS": "-1"},
|
||||
):
|
||||
with self.subTest(values=values), self.assertRaises(ValidationError):
|
||||
Settings(**values)
|
||||
|
||||
def test_scheduling_cancellation_notice_setting_is_bounded(self) -> None:
|
||||
self.assertEqual(Settings().scheduling_cancellation_notice_days, 30)
|
||||
self.assertEqual(
|
||||
|
||||
Reference in New Issue
Block a user