feat: add governed DSAR workflow

This commit is contained in:
2026-08-07 14:53:07 +02:00
parent eb0c01c5d2
commit e6457b3f6b
19 changed files with 2239 additions and 2 deletions
+21
View File
@@ -10,8 +10,11 @@ from govoplan_core.core.files import (
)
from govoplan_core.core.templates import (
CAPABILITY_TEMPLATE_CATALOG,
CAPABILITY_TEMPLATE_CONTENT_LIBRARY,
CAPABILITY_TEMPLATE_RENDERER,
TemplateCatalogProvider,
TemplateContentDraftRequest,
TemplateContentLibraryProvider,
TemplateRenderRequest,
TemplateRendererProvider,
)
@@ -37,6 +40,12 @@ class _Renderer:
return None
class _ContentLibrary:
def create_content_draft(self, session, principal, *, request):
del session, principal, request
return None
class _Store:
def store_artifact(self, session, principal, *, request):
del session, principal
@@ -54,10 +63,14 @@ class _Store:
class TemplateContractTests(unittest.TestCase):
def test_capability_names_and_runtime_protocols_are_stable(self) -> None:
self.assertEqual("templates.catalog", CAPABILITY_TEMPLATE_CATALOG)
self.assertEqual(
"templates.content_library", CAPABILITY_TEMPLATE_CONTENT_LIBRARY
)
self.assertEqual("templates.renderer", CAPABILITY_TEMPLATE_RENDERER)
self.assertEqual("files.artifact_store", CAPABILITY_FILES_ARTIFACT_STORE)
self.assertIsInstance(_Catalog(), TemplateCatalogProvider)
self.assertIsInstance(_Renderer(), TemplateRendererProvider)
self.assertIsInstance(_ContentLibrary(), TemplateContentLibraryProvider)
self.assertIsInstance(_Store(), ManagedArtifactStore)
def test_requests_do_not_expose_consumer_or_files_models(self) -> None:
@@ -71,6 +84,14 @@ class TemplateContractTests(unittest.TestCase):
self.assertEqual("preview", render.mode)
self.assertEqual("Generated", artifact.folder)
content = TemplateContentDraftRequest(
name="Closing paragraph",
template_type="content_fragment",
usages=("campaign.content",),
content_text="Kind regards",
)
self.assertEqual("de", content.locale)
if __name__ == "__main__":
unittest.main()