This commit is contained in:
2026-02-07 16:57:37 +01:00
parent 8383104454
commit dff1b03e42
129 changed files with 19769 additions and 0 deletions

76
tests/test_scheduler.py Executable file
View File

@@ -0,0 +1,76 @@
"""
Tests pour le scheduler APScheduler
"""
import pytest
import asyncio
from backend.app.services.scheduler import ScanScheduler
class TestScheduler:
"""Tests pour le scheduler"""
@pytest.fixture
def scheduler(self):
"""Fixture scheduler"""
sched = ScanScheduler()
yield sched
if sched.is_running:
sched.stop()
def test_scheduler_start_stop(self, scheduler):
"""Test démarrage/arrêt du scheduler"""
assert scheduler.is_running is False
scheduler.start()
assert scheduler.is_running is True
scheduler.stop()
assert scheduler.is_running is False
def test_add_ping_scan_job(self, scheduler):
"""Test ajout tâche ping scan"""
scheduler.start()
async def dummy_scan():
pass
scheduler.add_ping_scan_job(dummy_scan, interval_seconds=60)
jobs = scheduler.get_jobs()
job_ids = [job.id for job in jobs]
assert 'ping_scan' in job_ids
def test_add_port_scan_job(self, scheduler):
"""Test ajout tâche port scan"""
scheduler.start()
async def dummy_scan():
pass
scheduler.add_port_scan_job(dummy_scan, interval_seconds=300)
jobs = scheduler.get_jobs()
job_ids = [job.id for job in jobs]
assert 'port_scan' in job_ids
def test_remove_job(self, scheduler):
"""Test suppression de tâche"""
scheduler.start()
async def dummy_scan():
pass
scheduler.add_ping_scan_job(dummy_scan, interval_seconds=60)
# Vérifier présence
jobs = scheduler.get_jobs()
assert len(jobs) == 1
# Supprimer
scheduler.remove_job('ping_scan')
# Vérifier absence
jobs = scheduler.get_jobs()
assert len(jobs) == 0