| """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") |