Fix quality metric persistence ordering
This commit is contained in:
@@ -39,6 +39,8 @@ class QualityService:
|
|||||||
completed_at=datetime.now(timezone.utc),
|
completed_at=datetime.now(timezone.utc),
|
||||||
)
|
)
|
||||||
db.add(quality_check)
|
db.add(quality_check)
|
||||||
|
if hasattr(db, "flush"):
|
||||||
|
db.flush()
|
||||||
|
|
||||||
for key, value in (metrics or {}).items():
|
for key, value in (metrics or {}).items():
|
||||||
db.add(
|
db.add(
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ class FakeSession:
|
|||||||
self.objects = objects or {}
|
self.objects = objects or {}
|
||||||
self.commits = 0
|
self.commits = 0
|
||||||
self.refreshes = []
|
self.refreshes = []
|
||||||
|
self.flushes = 0
|
||||||
|
|
||||||
def get(self, model, item_id):
|
def get(self, model, item_id):
|
||||||
return self.objects.get((model, item_id))
|
return self.objects.get((model, item_id))
|
||||||
@@ -31,6 +32,9 @@ class FakeSession:
|
|||||||
def commit(self) -> None:
|
def commit(self) -> None:
|
||||||
self.commits += 1
|
self.commits += 1
|
||||||
|
|
||||||
|
def flush(self) -> None:
|
||||||
|
self.flushes += 1
|
||||||
|
|
||||||
def refresh(self, item) -> None:
|
def refresh(self, item) -> None:
|
||||||
self.refreshes.append(item)
|
self.refreshes.append(item)
|
||||||
|
|
||||||
@@ -178,6 +182,7 @@ def test_quality_service_persists_quality_check_and_metrics() -> None:
|
|||||||
"false_positive_count",
|
"false_positive_count",
|
||||||
]
|
]
|
||||||
assert persisted_metrics[0].quality_check_id == quality_check.id
|
assert persisted_metrics[0].quality_check_id == quality_check.id
|
||||||
|
assert db.flushes == 1
|
||||||
assert db.commits == 1
|
assert db.commits == 1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user