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]
name = "govoplan-soap"
version = "0.1.18"
version = "0.1.19"
description = "SOAP connector module for GovOPlaN"
readme = "README.md"
requires-python = ">=3.12"
+1 -1
View File
@@ -2,4 +2,4 @@
__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(
id="soap",
name="SOAP Connector",
version="0.1.18",
version="0.1.19",
required_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR),
optional_dependencies=("audit", "docs", "policy"),
provides_interfaces=(
@@ -59,6 +59,18 @@ manifest = ModuleManifest(
documentation_types=("admin", "user"),
audience=("integration_user", "operator", "module_admin"),
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"},
),
),
+7
View File
@@ -24,6 +24,13 @@ class SoapModuleContractTests(unittest.TestCase):
self.assertEqual("/soap", router.prefix)
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:
descriptor = SoapOperationDescriptor(
id="demo.ping",