3 Commits
Author SHA1 Message Date
zemion 570cf256fe docs(rest): add German reference coverage
Module Package Release / publish-packages (push) Successful in 10s
2026-08-22 06:21:50 +02:00
zemion 858d8f4ed1 Release v0.1.18
Module Package Release / publish-packages (push) Successful in 11s
2026-08-05 21:07:52 +02:00
zemion 9324367586 Release v0.1.17
Module Package Release / publish-packages (push) Successful in 10s
2026-08-05 20:34:13 +02:00
4 changed files with 23 additions and 4 deletions
+2 -2
View File
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "govoplan-rest" name = "govoplan-rest"
version = "0.1.16" version = "0.1.19"
description = "GovOPlaN REST connector module." description = "GovOPlaN REST connector module."
readme = "README.md" readme = "README.md"
requires-python = ">=3.12" requires-python = ">=3.12"
authors = [{ name = "GovOPlaN" }] authors = [{ name = "GovOPlaN" }]
dependencies = [ dependencies = [
"govoplan-core>=0.1.16", "govoplan-core>=0.1.18",
"pydantic>=2,<3", "pydantic>=2,<3",
] ]
+1 -1
View File
@@ -2,4 +2,4 @@
__all__ = ["__version__"] __all__ = ["__version__"]
__version__ = "0.1.16" __version__ = "0.1.19"
+13 -1
View File
@@ -32,7 +32,7 @@ def _route_factory(context: ModuleContext):
manifest = ModuleManifest( manifest = ModuleManifest(
id="rest", id="rest",
name="REST Connector", name="REST Connector",
version="0.1.16", 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 REST-Veröffentlichungen verwenden",
"summary": "REST stellt ausdrücklich veröffentlichte Modulfunktionen über einen Transportadapter bereit, ohne deren fachliches Verhalten zu übernehmen.",
"body": (
"Nur Funktionen, die über den Veröffentlichungsvertrag registriert sind, können gefunden werden. "
"Das Quellmodul bleibt für Validierung, Autorisierungsfakten, Idempotenz und Seiteneffekte verantwortlich; "
"REST verantwortet HTTP-Bindung, Serialisierung, Transportrichtlinien, Drosselung und Diagnostik. "
"Die aktuelle Oberfläche ist ein Anbieter- und Ermittlungsvertrag und kein unbeschränkter Proxy für interne Endpunkte."
),
}
},
metadata={"kind": "reference"}, metadata={"kind": "reference"},
), ),
), ),
+7
View File
@@ -24,6 +24,13 @@ class RestModuleContractTests(unittest.TestCase):
self.assertEqual("/rest", router.prefix) self.assertEqual("/rest", 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_function_descriptor_is_stable(self) -> None: def test_function_descriptor_is_stable(self) -> None:
descriptor = RestFunctionDescriptor( descriptor = RestFunctionDescriptor(
id="demo.ping", id="demo.ping",