sintonia/api/libretime_api/legacy/tests/migrations/test_version.py
jo 0e4bc4cacd feat: replace php migration with django migration
- keep latest legacy version in initial migration file
- move propel schema to api legacy app
- remove legacy upgrade tool
2022-06-08 23:23:08 +02:00

44 lines
1.3 KiB
Python

import pytest
from ...migrations._version import parse_version
@pytest.mark.parametrize(
"version,expected",
[
# fmt: off
("3.0.0-alpha", (3, 0, 0, -2, 0, 0)),
("3.1.0-alpha.1", (3, 1, 0, -2, 1, 0)),
("3.0.1-alpha.1.2", (3, 0, 1, -2, 1, 2)),
("3.0.0-beta", (3, 0, 0, -1, 0, 0)),
("3.0.0-beta.10", (3, 0, 0, -1, 10, 0)),
("2.5.2", (2, 5, 2, 0, 0, 0)),
("3.0.0", (3, 0, 0, 0, 0, 0)),
# fmt: on
],
)
def test_parse_version(version: str, expected):
assert parse_version(version) == expected
@pytest.mark.parametrize(
"before,after",
[
# fmt: off
("3.0.0-alpha", "3.0.0-alpha.1"),
("3.0.0-alpha.1", "3.0.0-alpha.2"),
("3.0.0-alpha.1", "3.0.0-alpha.1.1"),
("3.0.0-alpha", "3.0.0-beta"),
("3.0.0-beta", "3.0.0"),
("3.0.0", "3.0.1"),
("3.0.0", "3.1.0"),
("3.0.0", "4.0.0"),
("2.5.3", "3.0.0"),
("3.0.0", "3.0.0"),
# fmt: on
],
)
def test_version_compare(before: str, after: str):
version_before = parse_version(before)
version_after = parse_version(after)
assert version_before <= version_after