sec = GestionnaireSecurite("/home/user/projet")
r1 = sec.verifier_chemin("/home/user/projet/app.py")
assert r1["autorise"] == True, "Un fichier dans le dossier autorise doit etre accepte"
r2 = sec.verifier_chemin("/etc/passwd")
assert r2["autorise"] == False, "Un fichier hors du dossier autorise doit etre refuse"
sec = GestionnaireSecurite("/home/user/projet")
r1 = sec.verifier_fichier_interdit(".env")
assert r1["autorise"] == False, ".env doit etre interdit par defaut"
r2 = sec.verifier_fichier_interdit("cle.pem")
assert r2["autorise"] == False, "*.pem doit etre interdit"
r3 = sec.verifier_fichier_interdit("app.py")
assert r3["autorise"] == True, "app.py doit etre autorise"
sec = GestionnaireSecurite("/home/user/projet")
demande = sec.demander_confirmation("ecrire", {"chemin": "app.py"})
assert "identifiant" in demande
assert demande["status"] == "en_attente"
confirmation = sec.confirmer(demande["identifiant"])
assert confirmation["succes"] == True
sec = GestionnaireSecurite("/home/user/projet")
sec.loguer("lire_fichier", {"chemin": "app.py"}, "autorise")
sec.loguer("ecrire_fichier", {"chemin": "test.py"}, "refuse")
journal = sec.obtenir_journal()
assert len(journal) == 2
assert journal[0]["action"] == "lire_fichier"
assert journal[1]["resultat"] == "refuse"
assert "timestamp" in journal[0]
+ 0 tests cachés