mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-03-28 17:43:05 +01:00
42 lines
2.0 KiB
Python
42 lines
2.0 KiB
Python
from app import version_info
|
|
|
|
|
|
class TestAppBuildInfo:
|
|
def setup_method(self):
|
|
version_info.get_app_build_info.cache_clear()
|
|
|
|
def teardown_method(self):
|
|
version_info.get_app_build_info.cache_clear()
|
|
|
|
def test_prefers_package_metadata_and_git(self, monkeypatch):
|
|
monkeypatch.setattr(version_info, "_package_metadata_version", lambda: "3.4.1")
|
|
monkeypatch.setattr(version_info, "_env_version", lambda: "3.4.0-env")
|
|
monkeypatch.setattr(version_info, "_build_info_version", lambda build_info: "3.3.0-build")
|
|
monkeypatch.setattr(version_info, "_pyproject_version", lambda root: "3.2.0-pyproject")
|
|
monkeypatch.setattr(version_info, "_git_output", lambda root, *args: "abcdef12")
|
|
monkeypatch.setattr(version_info, "_env_commit_hash", lambda: "fedcba0987654321")
|
|
monkeypatch.setattr(version_info, "_build_info_commit_hash", lambda build_info: "11223344")
|
|
|
|
info = version_info.get_app_build_info()
|
|
|
|
assert info.version == "3.4.1"
|
|
assert info.version_source == "package_metadata"
|
|
assert info.commit_hash == "abcdef12"
|
|
assert info.commit_source == "git"
|
|
|
|
def test_falls_back_to_pyproject_and_build_info(self, monkeypatch):
|
|
monkeypatch.setattr(version_info, "_package_metadata_version", lambda: None)
|
|
monkeypatch.setattr(version_info, "_env_version", lambda: None)
|
|
monkeypatch.setattr(version_info, "_build_info_version", lambda build_info: None)
|
|
monkeypatch.setattr(version_info, "_pyproject_version", lambda root: "3.2.0")
|
|
monkeypatch.setattr(version_info, "_git_output", lambda root, *args: None)
|
|
monkeypatch.setattr(version_info, "_env_commit_hash", lambda: None)
|
|
monkeypatch.setattr(version_info, "_build_info_commit_hash", lambda build_info: "cf1a55e2")
|
|
|
|
info = version_info.get_app_build_info()
|
|
|
|
assert info.version == "3.2.0"
|
|
assert info.version_source == "pyproject"
|
|
assert info.commit_hash == "cf1a55e2"
|
|
assert info.commit_source == "build_info"
|