"""Semver-vergelijking van de update-check.""" import sys from pathlib import Path import pytest sys.path.insert(0, str(Path(__file__).resolve().parent.parent / "server-up")) from core import updater @pytest.mark.parametrize("lager,hoger", [ ("0.4.6", "0.4.60"), # tweecijferig patchnummer (zie CHANGELOG v0.4.60) ("0.4.60", "0.4.61"), ("0.4.9", "0.5.0"), ("1.0.0-beta1", "1.0.0"), # release wint van pre-release ("1.0.0-beta1", "1.0.0-beta2"), ("0.9.9", "1.0.0"), ]) def test_versievolgorde(lager, hoger): assert updater._parse(lager) < updater._parse(hoger) def test_v_prefix_maakt_niet_uit(): assert updater._parse("v1.2.3") == updater._parse("1.2.3") @pytest.mark.parametrize("waarde", ["", "geen-versie", "1.2", None]) def test_onparseerbare_versies(waarde): assert updater._parse(waarde) is None def test_check_zonder_url_is_uitgeschakeld(monkeypatch, tmp_path): monkeypatch.setenv("SU_CONFIG", str(tmp_path / "config.json")) import core as cfg cfg._path = tmp_path / "config.json" cfg.patch({"UPDATE_API_URL": ""}) res = updater.check("0.4.60") assert res["enabled"] is False assert res["update_available"] is False