Migrate Mail surfaces to interface patterns

This commit is contained in:
2026-08-03 10:06:13 +02:00
parent 5b5077cde7
commit 7844d9cab4
12 changed files with 460 additions and 44 deletions
+3 -1
View File
@@ -182,7 +182,9 @@ class MailRuntimeDocumentationTests(unittest.TestCase):
topics = {topic.id: topic for topic in get_manifest().documentation}
self.assertEqual(topics["mail.workflow.choose-and-test-profile"].metadata["help_contexts"], ["mail.profiles", "app.settings"])
self.assertEqual(topics["mail.workflow.read-mailbox"].metadata["help_contexts"], ["mail.list"])
self.assertEqual(topics["mail.workflow.read-mailbox"].metadata["help_contexts"], ["mail.list", "mail.mailbox"])
self.assertIn("mail.admin.profiles", topics["mail.profiles-and-policy"].metadata["help_contexts"])
self.assertIn("mail.bounce-processing", topics["mail.bounce-processing"].metadata["help_contexts"])
def test_configuration_provider_exposes_only_explicit_or_inherited_state(self) -> None:
inherited = EffectiveMailProfilePolicy(
+6
View File
@@ -71,6 +71,7 @@ class MailManifestTests(unittest.TestCase):
mailbox = topics["mail.workflow.read-mailbox"]
self.assertEqual(mailbox.metadata["route"], "/mail")
self.assertIn("mail.mailbox", mailbox.metadata["help_contexts"])
self.assertEqual(
mailbox.conditions[0].required_scopes,
("mail:mailbox:read", "mail:profile:use"),
@@ -79,6 +80,11 @@ class MailManifestTests(unittest.TestCase):
campaign_contract = topics["mail.reference.campaign-delivery-contract"]
self.assertEqual(campaign_contract.conditions[0].required_modules, ("mail", "campaigns"))
profile_policy = topics["mail.profiles-and-policy"]
self.assertIn("mail.admin.profiles", profile_policy.metadata["help_contexts"])
bounce_processing = topics["mail.bounce-processing"]
self.assertIn("mail.bounce-processing", bounce_processing.metadata["help_contexts"])
def test_retirement_scrubs_credentials_before_dropping_mail_tables(self) -> None:
events: list[str] = []