47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from app.db.platform_store import dataset_file_version_summary, parse_size_bytes
|
||
|
|
|
||
|
|
|
||
|
|
def test_parse_size_bytes_supports_legacy_units() -> None:
|
||
|
|
assert parse_size_bytes("21563 B") == 21563
|
||
|
|
assert parse_size_bytes("1.5 KB") == 1536
|
||
|
|
assert parse_size_bytes("2 MB") == 2 * 1024**2
|
||
|
|
assert parse_size_bytes(4096) == 4096
|
||
|
|
assert parse_size_bytes("unknown") == 0
|
||
|
|
|
||
|
|
|
||
|
|
def test_dataset_file_version_summary_uses_active_version_metadata() -> None:
|
||
|
|
summary = dataset_file_version_summary(
|
||
|
|
{
|
||
|
|
"active_version_id": "file-1-v3",
|
||
|
|
"current_version_id": "file-1-v1",
|
||
|
|
"version_no": 1,
|
||
|
|
"versions": (
|
||
|
|
'[{"id":"file-1-v1","version":1},'
|
||
|
|
'{"id":"file-1-v3","version_no":3}]'
|
||
|
|
),
|
||
|
|
}
|
||
|
|
)
|
||
|
|
|
||
|
|
assert summary == {
|
||
|
|
"active_version_id": "file-1-v3",
|
||
|
|
"current_version_id": "file-1-v3",
|
||
|
|
"current_version_no": 3,
|
||
|
|
"version_count": 2,
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
def test_dataset_file_version_summary_uses_normalized_version_number_as_fallback() -> None:
|
||
|
|
summary = dataset_file_version_summary(
|
||
|
|
{
|
||
|
|
"active_version_id": "",
|
||
|
|
"current_version_id": None,
|
||
|
|
"version_no": 1,
|
||
|
|
"versions": "[]",
|
||
|
|
}
|
||
|
|
)
|
||
|
|
|
||
|
|
assert summary["current_version_no"] == 1
|
||
|
|
assert summary["version_count"] == 0
|