2025-04-29 17:35:21 +02:00
|
|
|
|
#
|
|
|
|
|
|
# Erminig - Tests relatifs aux fichiers Pakva
|
|
|
|
|
|
# Copyright (C) 2025 L0m1g
|
|
|
|
|
|
# Sous licence DOUARN - Voir le fichier LICENCE pour les détails
|
|
|
|
|
|
#
|
|
|
|
|
|
# Ce fichier fait partie du projet Erminig.
|
|
|
|
|
|
# Libre comme l’air, stable comme un menhir, et salé comme le beurre.
|
|
|
|
|
|
#
|
|
|
|
|
|
|
2025-04-29 17:15:19 +02:00
|
|
|
|
import pytest
|
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
from unittest.mock import patch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# PATCH directement le décorateur run_as_user pour les tests
|
|
|
|
|
|
@patch("erminig.system.security.run_as_user", lambda x=None: (lambda f: f))
|
|
|
|
|
|
def test_pakva_save_and_read(tmp_path):
|
|
|
|
|
|
from erminig.controllers.govel.pakva import Pakva # Importer après patch !
|
|
|
|
|
|
|
|
|
|
|
|
pakva_path = tmp_path / "Pakva"
|
|
|
|
|
|
|
|
|
|
|
|
pakva = Pakva("testpkg", "1.0.0", "http://example.com/testpkg.tar.gz")
|
|
|
|
|
|
pakva.path = pakva_path
|
|
|
|
|
|
pakva.save()
|
|
|
|
|
|
|
|
|
|
|
|
loaded = Pakva.read(pakva_path)
|
|
|
|
|
|
assert loaded.name == "testpkg"
|
|
|
|
|
|
assert loaded.version == "1.0.0"
|
|
|
|
|
|
assert loaded.archive == "http://example.com/testpkg.tar.gz"
|