From e6a3617a94ced141d6cb6e34f43624e541f03e86 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Tue, 21 Jul 2026 17:51:29 +0200 Subject: [PATCH] chore: declare Campaign access interface dependency --- src/govoplan_mail/backend/manifest.py | 6 ++++++ tests/test_manifest.py | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/govoplan_mail/backend/manifest.py b/src/govoplan_mail/backend/manifest.py index 754d404..7361155 100644 --- a/src/govoplan_mail/backend/manifest.py +++ b/src/govoplan_mail/backend/manifest.py @@ -133,6 +133,12 @@ manifest = ModuleManifest( ModuleInterfaceProvider(name="mail.campaign_delivery", version="0.2.0"), ), requires_interfaces=( + ModuleInterfaceRequirement( + name="campaigns.access", + version_min="0.1.0", + version_max_exclusive="0.2.0", + optional=True, + ), ModuleInterfaceRequirement( name="campaigns.mail_policy_context", version_min="0.1.0", diff --git a/tests/test_manifest.py b/tests/test_manifest.py index da493ec..ba8026d 100644 --- a/tests/test_manifest.py +++ b/tests/test_manifest.py @@ -16,6 +16,23 @@ class MailManifestTests(unittest.TestCase): self.assertEqual(manifest.id, "mail") self.assertIn("addresses", manifest.optional_dependencies) self.assertIn("addresses.lookup", {interface.name for interface in manifest.requires_interfaces}) + self.assertIn( + { + "name": "campaigns.access", + "version_min": "0.1.0", + "version_max_exclusive": "0.2.0", + "optional": True, + }, + [ + { + "name": interface.name, + "version_min": interface.version_min, + "version_max_exclusive": interface.version_max_exclusive, + "optional": interface.optional, + } + for interface in manifest.requires_interfaces + ], + ) self.assertIn( {"name": "mail.campaign_delivery", "version": "0.2.0"}, [