File size: 1,240 Bytes
a38ca42 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | """Schema migration and validation tests."""
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
from beta_keys_schema import migrate_keys_payload, normalize_record, validation_result
legacy = {
"VTX-BETA-7K4P-X92M": {"active": True, "status": "ACTIVE"},
"VTX-BETA-R8JL-Q4WT": {"active": False, "status": "REVOKED"},
}
migrated = migrate_keys_payload(legacy)
assert "VTX-BETA-7K4P-X92M" in migrated
record = migrated["VTX-BETA-7K4P-X92M"]
assert record["key"] == "VTX-BETA-7K4P-X92M"
assert record["name"] == ""
assert record["notes"] == ""
assert record["created"] == ""
assert record["last_activation"] is None
assert record["active"] is True
assert validation_result(record)["status"] == "ACTIVE"
assert validation_result(migrated["VTX-BETA-R8JL-Q4WT"])["status"] == "REVOKED"
assert validation_result(None)["status"] == "INVALID"
modern = normalize_record(
"VTX-4D8A9B",
{
"key": "VTX-4D8A9B",
"name": "Ramon",
"notes": "Beta Tester",
"created": "2026-06-12",
"last_activation": None,
"active": True,
"status": "ACTIVE",
},
)
assert modern["name"] == "Ramon"
assert modern["notes"] == "Beta Tester"
print("OK") |