Harden duplicate review and CSV handling

This commit is contained in:
2026-09-03 12:19:01 -04:00
parent 2cebb0db2e
commit b5317e297a
7 changed files with 52 additions and 4 deletions
+14
View File
@@ -6,6 +6,7 @@ from pathlib import Path
from dataloom.core.merge import merge_records
from dataloom.core.models import Record
from dataloom.core.normalize import normalize_url
from dataloom.core.exporters import csv_loss_warnings
from dataloom.core.parsers import load_file
@@ -40,3 +41,16 @@ def test_conflicting_passwords_are_retained_for_review():
result = merge_records([Record(base, "a.json", 1), Record(other, "b.json", 1)])
assert len(result.included) == 2
assert any(group.classification == "likely" for group in result.review_groups)
def test_newest_revision_is_selected_without_timezone_error():
left = {"type": 1, "name": "X", "revisionDate": "2026-01-01T00:00:00Z", "login": {"username": "u", "password": "a", "uris": [{"uri": "https://x.test"}]}}
right = {"type": 1, "name": "X", "revisionDate": "2026-02-01T00:00:00Z", "login": {"username": "u", "password": "b", "uris": [{"uri": "https://x.test"}]}}
result = merge_records([Record(left, "a.json", 1), Record(right, "b.json", 1)])
assert result.review_groups[-1].selected is not None
assert result.review_groups[-1].selected.source_file == "b.json"
def test_csv_loss_warning_for_extra_uri():
record = Record({"type": 1, "name": "X", "login": {"uris": [{"uri": "https://a"}, {"uri": "https://b"}]}}, "a.json", 1)
assert csv_loss_warnings([record])