mirror of
https://github.com/facefusion/facefusion.git
synced 2026-09-15 20:15:28 +02:00
* introduce fork and join session, fix inference manager race condition * destroy stream on DELETE
85 lines
2.1 KiB
Python
85 lines
2.1 KiB
Python
from datetime import datetime
|
|
from typing import Iterator
|
|
|
|
import pytest
|
|
|
|
from facefusion import session_manager, store_creator
|
|
from facefusion.session_context import resolve_local_id, set_session_id
|
|
from facefusion.state_manager import STATE_SET, clear, clone_state, get_item, get_state, init, init_item, set_item, set_state
|
|
|
|
|
|
@pytest.fixture(scope = 'function', autouse = True)
|
|
def before_each() -> Iterator[None]:
|
|
local_id = resolve_local_id()
|
|
|
|
set_session_id(local_id)
|
|
clear()
|
|
store_creator.delete_content(STATE_SET, 'session-a')
|
|
store_creator.delete_content(STATE_SET, 'session-a1')
|
|
session_manager.clear_session('session-a1')
|
|
|
|
yield
|
|
|
|
set_session_id(local_id)
|
|
|
|
|
|
def test_init() -> None:
|
|
init_item('video_memory_strategy', 'tolerant')
|
|
set_session_id('session-a')
|
|
|
|
assert get_state() is None
|
|
|
|
init()
|
|
set_item('video_memory_strategy', 'strict')
|
|
|
|
assert get_state() == { 'video_memory_strategy': 'strict' }
|
|
|
|
set_session_id(resolve_local_id())
|
|
|
|
assert get_state() == { 'video_memory_strategy': 'tolerant' }
|
|
|
|
|
|
def test_get_state() -> None:
|
|
init_item('video_memory_strategy', 'tolerant')
|
|
|
|
assert get_state() == { 'video_memory_strategy': 'tolerant' }
|
|
|
|
|
|
def test_set_state() -> None:
|
|
set_state({ 'video_memory_strategy': 'strict' })
|
|
|
|
assert get_state() == { 'video_memory_strategy': 'strict' }
|
|
|
|
|
|
def test_clone_state() -> None:
|
|
init_item('video_memory_strategy', 'tolerant')
|
|
session_manager.set_session('session-a1', { 'owner_id': resolve_local_id(), 'created_at': datetime.now() })
|
|
set_session_id('session-a1')
|
|
clone_state()
|
|
set_item('video_memory_strategy', 'strict')
|
|
|
|
assert get_state() == { 'video_memory_strategy': 'strict' }
|
|
|
|
set_session_id(resolve_local_id())
|
|
|
|
assert get_state() == { 'video_memory_strategy': 'tolerant' }
|
|
|
|
|
|
def test_clear() -> None:
|
|
init_item('video_memory_strategy', 'tolerant')
|
|
clear()
|
|
|
|
assert get_state() == {}
|
|
|
|
|
|
def test_init_item() -> None:
|
|
init_item('video_memory_strategy', 'tolerant')
|
|
|
|
assert get_state().get('video_memory_strategy') == 'tolerant'
|
|
|
|
|
|
def test_get_item_and_set_item() -> None:
|
|
set_item('video_memory_strategy', 'tolerant')
|
|
|
|
assert get_item('video_memory_strategy') == 'tolerant'
|