Some checks failed
E2E Tests / e2e (push) Waiting to run
Tests unitaires / Web (Angular · vitest + couverture) (push) Successful in 26s
Build & Push Images / tests (push) Failing after 13s
Build & Push Images / build (brain) (push) Has been skipped
Build & Push Images / build (core) (push) Has been skipped
Build & Push Images / build (web) (push) Has been skipped
Build & Push Images / build-switcher (push) Has been skipped
Tests unitaires / Brain (Python · pytest + couverture) (push) Successful in 1m12s
Tests unitaires / Core (Java · mvn test + JaCoCo) (push) Failing after 1m28s
Mise en place de tests unitaires coté Python et Angular Mise en place de la couverture de test directement dans le workflow : le programme ne build pas si jamais un test échoue Passage en v0.16.2 en conséquence
31 lines
1007 B
Python
31 lines
1007 B
Python
"""Tests du canal de statut d'import (app.application.import_status)."""
|
|
from __future__ import annotations
|
|
|
|
import asyncio
|
|
|
|
from app.application import import_status
|
|
|
|
|
|
def test_notify_is_noop_without_queue():
|
|
# Hors import (aucune queue installée) : ne lève pas, ne fait rien.
|
|
import_status.notify_status("personne n'écoute") # ne doit pas lever
|
|
|
|
|
|
def test_notify_publishes_when_queue_installed():
|
|
queue: asyncio.Queue = asyncio.Queue()
|
|
token = import_status.set_status_queue(queue)
|
|
try:
|
|
import_status.notify_status("morceau re-découpé")
|
|
assert queue.get_nowait() == "morceau re-découpé"
|
|
finally:
|
|
import_status.reset_status_queue(token)
|
|
|
|
|
|
def test_reset_restores_noop():
|
|
queue: asyncio.Queue = asyncio.Queue()
|
|
token = import_status.set_status_queue(queue)
|
|
import_status.reset_status_queue(token)
|
|
# Après reset : plus de queue active → no-op, la queue reste vide.
|
|
import_status.notify_status("ignoré")
|
|
assert queue.empty()
|