Add purpose-bound form evidence storage

This commit is contained in:
2026-08-06 12:42:20 +02:00
parent 60c3d14f08
commit aa9f90c71e
12 changed files with 2039 additions and 178 deletions
+20 -1
View File
@@ -1,5 +1,6 @@
from __future__ import annotations
from datetime import UTC, datetime
import unittest
from sqlalchemy import create_engine, event
@@ -14,6 +15,7 @@ from govoplan_files.backend.db.models import (
FileConnectorPolicy,
FileConnectorProfile,
FileConnectorSpace,
FileFormEvidenceGrant,
)
from govoplan_files.backend.manifest import _tenant_summary_batch
@@ -32,6 +34,7 @@ class FilesTenantSummaryBatchTests(unittest.TestCase):
FileConnectorPolicy.__table__,
FileConnectorProfile.__table__,
FileConnectorSpace.__table__,
FileFormEvidenceGrant.__table__,
ChangeSequenceEntry.__table__,
],
)
@@ -70,6 +73,21 @@ class FilesTenantSummaryBatchTests(unittest.TestCase):
connector_profile_id="profile-1",
provider="webdav",
),
FileFormEvidenceGrant(
id="grant-1",
tenant_id="tenant-1",
form_instance_id="form-instance-1",
form_definition_id="form-1",
form_definition_revision="1",
token_sha256="a" * 64,
idempotency_key="grant-1",
request_sha256="b" * 64,
custodian_user_id="user-1",
evidence_kind="document",
purpose="submission attachment",
expires_at=datetime.now(UTC),
max_size_bytes=1024,
),
]
)
session.commit()
@@ -88,7 +106,7 @@ class FilesTenantSummaryBatchTests(unittest.TestCase):
finally:
event.remove(engine, "before_cursor_execute", count_query)
self.assertEqual(5, query_count)
self.assertEqual(6, query_count)
self.assertEqual(
{
"files": 1,
@@ -96,6 +114,7 @@ class FilesTenantSummaryBatchTests(unittest.TestCase):
"connector_policies": 1,
"connector_profiles": 1,
"connector_spaces": 1,
"form_evidence_upload_grants": 1,
},
counts["tenant-1"],
)