docs(soap): add German reference coverage
Module Package Release / publish-packages (push) Successful in 11s

This commit is contained in:
2026-08-22 06:21:50 +02:00
parent 6b35079e14
commit e514005003
4 changed files with 22 additions and 3 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "govoplan-soap" name = "govoplan-soap"
version = "0.1.18" version = "0.1.19"
description = "SOAP connector module for GovOPlaN" description = "SOAP connector module for GovOPlaN"
readme = "README.md" readme = "README.md"
requires-python = ">=3.12" requires-python = ">=3.12"
+1 -1
View File
@@ -2,4 +2,4 @@
__all__ = ["__version__"] __all__ = ["__version__"]
__version__ = "0.1.18" __version__ = "0.1.19"
+13 -1
View File
@@ -32,7 +32,7 @@ def _route_factory(context: ModuleContext):
manifest = ModuleManifest( manifest = ModuleManifest(
id="soap", id="soap",
name="SOAP Connector", name="SOAP Connector",
version="0.1.18", version="0.1.19",
required_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR), required_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR),
optional_dependencies=("audit", "docs", "policy"), optional_dependencies=("audit", "docs", "policy"),
provides_interfaces=( provides_interfaces=(
@@ -59,6 +59,18 @@ manifest = ModuleManifest(
documentation_types=("admin", "user"), documentation_types=("admin", "user"),
audience=("integration_user", "operator", "module_admin"), audience=("integration_user", "operator", "module_admin"),
related_modules=("policy", "audit", "docs"), related_modules=("policy", "audit", "docs"),
translations={
"de": {
"title": "Gesteuerte SOAP-Veröffentlichungen verwenden",
"summary": "SOAP bindet ausdrücklich veröffentlichte Moduloperationen an, ohne deren fachliches Verhalten zu übernehmen.",
"body": (
"Nur Operationen, die über den Veröffentlichungsvertrag registriert sind, sind sichtbar. "
"Das Quellmodul bleibt für Validierung, Autorisierungsfakten, Idempotenz und Seiteneffekte verantwortlich; "
"SOAP verantwortet Nachrichtenumschläge, Serialisierung, Transportrichtlinien, Drosselung und Diagnostik. "
"Die aktuelle Oberfläche ist ein Anbieter- und Ermittlungsvertrag und keine unbeschränkte Brücke zu internen Operationen."
),
}
},
metadata={"kind": "reference"}, metadata={"kind": "reference"},
), ),
), ),
+7
View File
@@ -24,6 +24,13 @@ class SoapModuleContractTests(unittest.TestCase):
self.assertEqual("/soap", router.prefix) self.assertEqual("/soap", router.prefix)
self.assertEqual(1, len(router.routes)) self.assertEqual(1, len(router.routes))
def test_public_reference_has_complete_german_localization(self) -> None:
topic = get_manifest().documentation[0]
translation = topic.translations["de"]
self.assertEqual({"title", "summary", "body"}, set(translation))
self.assertTrue(all(str(translation[field]).strip() for field in translation))
def test_operation_descriptor_is_stable(self) -> None: def test_operation_descriptor_is_stable(self) -> None:
descriptor = SoapOperationDescriptor( descriptor = SoapOperationDescriptor(
id="demo.ping", id="demo.ping",