mirror of
https://github.com/facefusion/facefusion.git
synced 2026-09-15 20:15:28 +02:00
* refactor state manager * refactor state manager * refactor state manager * refactor state manager
69 lines
1.2 KiB
Python
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'
|