Coverage for src/jtech_installer/detector/prerequisites.py: 57%
14 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-08-20 15:10 -0300
« prev ^ index » next coverage.py v7.8.0, created at 2025-08-20 15:10 -0300
1"""
2Prerequisites checker for JTECH™ Installer
3"""
5from packaging import version
7from jtech_installer.core.exceptions import SystemRequirementError
8from jtech_installer.core.models import SystemInfo
11class PrerequisitesChecker:
12 """Verifica pré-requisitos do sistema"""
14 MINIMUM_PYTHON_VERSION = "3.12.0"
16 def check_all(self, system_info: SystemInfo) -> None:
17 """Verifica todos os pré-requisitos"""
18 self._check_python_version(system_info.python_version)
19 self._check_git(system_info.git_available)
20 # VS Code é opcional
22 def _check_python_version(self, python_version: str) -> None:
23 """Verifica se a versão do Python é adequada"""
24 if version.parse(python_version) < version.parse(
25 self.MINIMUM_PYTHON_VERSION
26 ):
27 raise SystemRequirementError(
28 f"Python {self.MINIMUM_PYTHON_VERSION}+ é obrigatório. "
29 f"Versão atual: {python_version}"
30 )
32 def _check_git(self, git_available: bool) -> None:
33 """Verifica se Git está disponível"""
34 if not git_available:
35 raise SystemRequirementError(
36 "Git é obrigatório mas não foi encontrado. "
37 "Por favor, instale Git antes de continuar."
38 )