"""Core tests; run only in an approved disposable development environment.""" import json 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.parsers import load_file FIXTURES = Path(__file__).parent / "fixtures" def test_url_normalization_equates_www_and_trailing_slash(): assert normalize_url("https://example.com") == normalize_url("https://www.example.com/") def test_fixture_import_and_exact_merge(): _, left = load_file(FIXTURES / "bitwarden-a.json") _, right = load_file(FIXTURES / "bitwarden-b.json") result = merge_records(left + right) assert len(result.included) == 1 assert len(result.removed_exact) == 1 def test_exact_login_match_ignores_name_and_revision(): left = {"id": "a", "type": 1, "name": "Old name", "revisionDate": "2026-01-01T00:00:00Z", "login": {"username": "U", "password": "P", "uris": [{"uri": "https://example.com"}]}} right = {"id": "b", "type": 1, "name": "New name", "revisionDate": "2026-02-01T00:00:00Z", "login": {"username": "u", "password": "P", "uris": [{"uri": "https://www.example.com/"}]}} result = merge_records([Record(left, "a.json", 1), Record(right, "b.json", 1)]) assert len(result.included) == 1 assert len(result.removed_exact) == 1 def test_conflicting_passwords_are_retained_for_review(): base = {"type": 1, "name": "X", "login": {"username": "u", "password": "a", "uris": [{"uri": "https://x.test"}]}} other = json.loads(json.dumps(base)); other["login"]["password"] = "b" 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)