docs(fit-connect): complete German reference contract
Module Package Release / publish-packages (push) Successful in 11s
Module Package Release / publish-packages (push) Successful in 11s
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "govoplan-fit-connect"
|
name = "govoplan-fit-connect"
|
||||||
version = "0.1.19"
|
version = "0.1.20"
|
||||||
description = "GovOPlaN FIT-Connect inbound receipt and acknowledgement connector."
|
description = "GovOPlaN FIT-Connect inbound receipt and acknowledgement connector."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ from govoplan_core.core.provider_governance import (
|
|||||||
|
|
||||||
|
|
||||||
MODULE_ID = "fit_connect"
|
MODULE_ID = "fit_connect"
|
||||||
MODULE_VERSION = "0.1.19"
|
MODULE_VERSION = "0.1.20"
|
||||||
READ_SCOPE = "fit_connect:submissions:read"
|
READ_SCOPE = "fit_connect:submissions:read"
|
||||||
VERIFY_SCOPE = "fit_connect:submissions:verify"
|
VERIFY_SCOPE = "fit_connect:submissions:verify"
|
||||||
ACK_SCOPE = "fit_connect:acknowledgements:plan"
|
ACK_SCOPE = "fit_connect:acknowledgements:plan"
|
||||||
@@ -212,6 +212,7 @@ manifest = ModuleManifest(
|
|||||||
"body": "FIT-Connect verantwortet Zustellpunkt- und Abonnentenprofile, begrenzte Transportbelege, Prüfnachweise und Pläne für technische Bestätigungen. Antragssemantik, Fallentscheidungen, Kommunikation mit Antragstellenden und fachliche Annahme gehören nicht zum Modul. Ein technisches accept-submission-Ereignis belegt ausschließlich Empfang und technische Verarbeitbarkeit.",
|
"body": "FIT-Connect verantwortet Zustellpunkt- und Abonnentenprofile, begrenzte Transportbelege, Prüfnachweise und Pläne für technische Bestätigungen. Antragssemantik, Fallentscheidungen, Kommunikation mit Antragstellenden und fachliche Annahme gehören nicht zum Modul. Ein technisches accept-submission-Ereignis belegt ausschließlich Empfang und technische Verarbeitbarkeit.",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
metadata={"kind": "reference"},
|
||||||
order=90,
|
order=90,
|
||||||
),
|
),
|
||||||
DocumentationTopic(
|
DocumentationTopic(
|
||||||
@@ -280,6 +281,32 @@ manifest = ModuleManifest(
|
|||||||
"Technical problem details are operator evidence and must not be exposed directly to applicants.",
|
"Technical problem details are operator evidence and must not be exposed directly to applicants.",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
structured_translation_version="1",
|
||||||
|
structured_translations={
|
||||||
|
"de": {
|
||||||
|
"prerequisites": [
|
||||||
|
"Ein Zustellpunkt und ein Abonnentenclient bestehen in einer freigegebenen FIT-Connect-Umgebung.",
|
||||||
|
"Die Installation kann Verweise auf Entschlüsselungs- und Ereignissignaturschlüssel auflösen.",
|
||||||
|
"Ein fachlich verantwortlicher Service-, Formular- oder Fallablauf kann die exakte Einreichung dauerhaft übernehmen.",
|
||||||
|
],
|
||||||
|
"steps": [
|
||||||
|
"Alle verschlüsselten Komponenten und Anlagen für die exakte Einreichungs-ID abrufen.",
|
||||||
|
"Metadaten, Fachdaten, Anlagen und Authentifizierungs-Tags entschlüsseln und prüfen.",
|
||||||
|
"Vor der Bestätigung eine prüfsummengebundene Übergabe im fachlich verantwortlichen Ablauf speichern.",
|
||||||
|
"Annahme, Ablehnung oder Aufschub planen und jedes versendete SET im Ereignisprotokoll abgleichen.",
|
||||||
|
],
|
||||||
|
"limitations": [
|
||||||
|
"Standardmäßig werden weder Umgebung, Journey, Zustellpunkt, API-Profil noch Zugangsdaten aktiviert.",
|
||||||
|
"Diese Version erzeugt Belege und Bestätigungspläne, aber keine signierten SETs und versendet sie nicht.",
|
||||||
|
"Eine technische Bestätigung ist niemals die fachliche Annahme des Antrags.",
|
||||||
|
],
|
||||||
|
"consequences": [
|
||||||
|
"Erfolgreiche Annahme- oder Ablehnungsverarbeitung kann die Einreichung aus dem Zustelldienst entfernen.",
|
||||||
|
"Unvollständige lokale Dauerhaftigkeit verschiebt das Ereignis und bewahrt Wiederherstellungsoptionen.",
|
||||||
|
"Technische Problemdetails sind Betriebsnachweise und dürfen Antragstellenden nicht unmittelbar angezeigt werden.",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
},
|
||||||
order=100,
|
order=100,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from govoplan_core.core.modules import documentation_structured_translation_issues
|
||||||
|
from govoplan_fit_connect.backend.manifest import manifest
|
||||||
|
|
||||||
|
|
||||||
|
def test_fit_connect_german_reference_contract_is_complete() -> None:
|
||||||
|
topics = {topic.id: topic for topic in manifest.documentation}
|
||||||
|
assert topics["fit-connect.boundary"].metadata["kind"] == "reference"
|
||||||
|
workflow = topics["fit-connect.inbound-receipt"]
|
||||||
|
assert workflow.metadata["kind"] == "workflow"
|
||||||
|
assert workflow.structured_translation_version == "1"
|
||||||
|
assert "de" in workflow.structured_translations
|
||||||
|
assert documentation_structured_translation_issues(workflow) == ()
|
||||||
|
for topic in topics.values():
|
||||||
|
assert all(topic.translations["de"].get(key) for key in ("title", "summary", "body"))
|
||||||
@@ -176,7 +176,7 @@ def test_receipt_from_another_submission_is_rejected() -> None:
|
|||||||
|
|
||||||
def test_manifest_declares_no_active_target_and_has_german_documentation() -> None:
|
def test_manifest_declares_no_active_target_and_has_german_documentation() -> None:
|
||||||
manifest = get_manifest()
|
manifest = get_manifest()
|
||||||
assert manifest.version == "0.1.19"
|
assert manifest.version == "0.1.20"
|
||||||
assert manifest.external_providers[0].id == "fit_connect.submission_api"
|
assert manifest.external_providers[0].id == "fit_connect.submission_api"
|
||||||
assert manifest.architecture is not None
|
assert manifest.architecture is not None
|
||||||
assert manifest.architecture.target_tested_providers == ()
|
assert manifest.architecture.target_tested_providers == ()
|
||||||
|
|||||||
Reference in New Issue
Block a user