fix(datasources): preserve governed CSV originals and fresh detail state
Module Package Release / publish-packages (push) Successful in 12s
Module Package Release / publish-packages (push) Successful in 12s
Release v0.1.26. Coordinated integrity review: GovOPlaN/govoplan-core#298.
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from govoplan_core.core.tabular_sources import TabularCsvSource
|
||||
|
||||
import unittest
|
||||
from datetime import timedelta
|
||||
|
||||
@@ -345,6 +347,7 @@ class DatasourceLifecycleGovernanceTests(unittest.TestCase):
|
||||
mode="static",
|
||||
shape="tabular",
|
||||
rows=({"id": 1},),
|
||||
csv_source=TabularCsvSource(text="id\n1\n"),
|
||||
governance=governance,
|
||||
),
|
||||
)
|
||||
@@ -389,6 +392,7 @@ class DatasourceLifecycleGovernanceTests(unittest.TestCase):
|
||||
)
|
||||
)
|
||||
payload_id = first_row.payload_id
|
||||
self.assertIsNotNone(first_row.csv_source_)
|
||||
disposed, evidence_hashes = self.provider.apply_retention(
|
||||
self.session,
|
||||
principal("admin", scopes=("datasources:source:admin",)),
|
||||
@@ -400,6 +404,7 @@ class DatasourceLifecycleGovernanceTests(unittest.TestCase):
|
||||
self.assertEqual(1, len(evidence_hashes))
|
||||
self.assertIsNone(self.session.get(DatasourcePayloadRecord, payload_id))
|
||||
self.assertIsNotNone(first_row.disposed_at)
|
||||
self.assertIsNone(first_row.csv_source_)
|
||||
self.assertEqual("disposed", first_row.state)
|
||||
with self.assertRaises(DatasourceUnavailableError):
|
||||
self.provider.read_datasource(
|
||||
@@ -446,6 +451,7 @@ class DatasourceLifecycleGovernanceTests(unittest.TestCase):
|
||||
mode="static",
|
||||
shape="tabular",
|
||||
rows=({"id": 1},),
|
||||
csv_source=TabularCsvSource(text="id\n1\n"),
|
||||
governance=DatasourceGovernance(
|
||||
retention_policy={
|
||||
"version": "stage-retention-v1",
|
||||
|
||||
Reference in New Issue
Block a user