Harden Dataflow preview behavior
This commit is contained in:
@@ -24,7 +24,9 @@ from govoplan_dataflow.backend.service import (
|
||||
DataflowConflictError,
|
||||
DataflowNotFoundError,
|
||||
create_pipeline,
|
||||
delete_pipeline,
|
||||
get_pipeline,
|
||||
list_pipelines,
|
||||
preview_pipeline,
|
||||
update_pipeline,
|
||||
)
|
||||
@@ -168,6 +170,37 @@ class DataflowServiceTests(unittest.TestCase):
|
||||
pipeline_id=pipeline.id,
|
||||
)
|
||||
|
||||
def test_list_and_soft_delete_are_tenant_isolated(self) -> None:
|
||||
first = self._create()
|
||||
second = self._create(tenant_id="tenant-2")
|
||||
|
||||
self.assertEqual([first.id], [item.id for item in list_pipelines(self.session, tenant_id="tenant-1")])
|
||||
self.assertEqual([second.id], [item.id for item in list_pipelines(self.session, tenant_id="tenant-2")])
|
||||
|
||||
delete_pipeline(
|
||||
self.session,
|
||||
tenant_id="tenant-1",
|
||||
pipeline_id=first.id,
|
||||
actor_id="user-2",
|
||||
)
|
||||
self.session.commit()
|
||||
|
||||
self.assertEqual([], list_pipelines(self.session, tenant_id="tenant-1"))
|
||||
with self.assertRaises(DataflowNotFoundError):
|
||||
get_pipeline(
|
||||
self.session,
|
||||
tenant_id="tenant-1",
|
||||
pipeline_id=first.id,
|
||||
)
|
||||
self.assertEqual(
|
||||
1,
|
||||
self.session.scalar(
|
||||
select(func.count())
|
||||
.select_from(DataflowPipelineRevision)
|
||||
.where(DataflowPipelineRevision.pipeline_id == first.id)
|
||||
),
|
||||
)
|
||||
|
||||
def test_saved_preview_records_lineage_but_not_result_rows(self) -> None:
|
||||
pipeline = self._create()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user