🧪 Ajout d'une suite de tests unitaires + CI #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "tests/add-test-suite"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ajout d'une suite de tests unitaires + CI
Le dépôt n'avait aucun test. Cette PR ajoute une suite de tests unitaires couvrant les 11 méthodes publiques de
ComwattClient, plus une CI qui les exécute sur Forgejo et sur GitHub.Tests
pytest.ini(testpaths = tests,filterwarnings = error),requirements-dev.txt(deps de test épinglées :pytest,responses),tests/conftest.py(constanteBASE_URL+ fixtureclient).responses— aucun appel réseau.test_authenticate.py— auth + hash SHA-256 exact du mot de passe, retourNone.test_user_and_sites.py—get_authenticated_user,get_sites.test_aggregations.py—get_site_networks_ts_time_ago(les deux branches deaggregation_type),get_site_consumption_breakdown_time_ago,get_device_ts_time_ago.test_devices.py—get_devices,get_device,put_device(corps JSON vérifié),switch_capacity(True/False).CI — deux fichiers (le modèle utilisé aussi dans
agent-fleet.nvim)Forgejo Actions ne lit que
.forgejo/workflows/dès que ce dossier existe (il ignore alors.github/workflows/), et il ne résout pas les refs d'actions courtes (actions/checkout@v4). D'où deux fichiers :.forgejo/workflows/tests.yml— pourgit.greil.fr. Utilisehttps://data.forgejo.org/actions/checkout@v4. L'imageubuntu-latestdu runner fournitpython3mais paspip, donc le job crée un virtualenv (python3-venv) pour amorcer pip (ce qui évite aussi le blocage PEP 668 de Debian), puis installe les deps et lancepytest..github/workflows/tests.yml— pour le miroir GitHub. Refs standard (actions/checkout@v4,actions/setup-python@v5), matrice Python 3.9→3.12, gardé parif: github.server_url == 'https://github.com'.Vérification
python -m pytest→ 24 passed, sortie propre (validé aussi en conteneurspython:3.12etdebian:bookworm/py3.11).pushetpull_request.