Files
facefusion/tests/test_process_manager.py
T
Henry Ruhs fb21d1d1b5 refactor state manager (#1237)
* refactor state manager

* refactor state manager

* refactor state manager

* refactor state manager
2026-09-12 11:02:14 +02:00

69 lines
1.2 KiB
Python

from typing import Iterator
import pytest
from facefusion import session_context
from facefusion.process_manager import clear, end, get_state, init, is_pending, is_processing, is_stopping, set_state, start, stop
@pytest.fixture(scope = 'function', autouse = True)
def before_each() -> Iterator[None]:
local_id = session_context.resolve_local_id()
session_context.set_session_id('session-a')
clear()
session_context.set_session_id('session-b')
clear()
session_context.set_session_id('session-a')
yield
session_context.set_session_id(local_id)
def test_init() -> None:
set_state('processing')
init()
assert get_state() == 'pending'
def test_get_state() -> None:
set_state('processing')
session_context.set_session_id('session-b')
set_state('stopping')
assert get_state() == 'stopping'
session_context.set_session_id('session-a')
assert get_state() == 'processing'
def test_start() -> None:
set_state('pending')
start()
assert is_processing()
def test_stop() -> None:
set_state('processing')
stop()
assert is_stopping()
def test_end() -> None:
set_state('processing')
end()
assert is_pending()
def test_clear() -> None:
set_state('processing')
clear()
assert get_state() == 'pending'