Files
wehub-resource-sync b7f52be4c9
CI / Run CI (push) Has been cancelled
CI / check-backend (push) Has been cancelled
CI / check-frontend (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / e2e-tests (push) Has been cancelled
Copilot Setup Steps / copilot-setup-steps (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:48:47 +08:00

56 lines
1.6 KiB
Python

from unittest.mock import Mock
import pytest
from chainlit.context import (
ChainlitContext,
ChainlitContextException,
get_context,
init_http_context,
init_ws_context,
)
from chainlit.emitter import BaseChainlitEmitter, ChainlitEmitter
from chainlit.session import HTTPSession
@pytest.fixture
def mock_emitter():
return Mock(spec=BaseChainlitEmitter)
async def test_chainlit_context_init_with_websocket(
mock_websocket_session, mock_emitter
):
context = ChainlitContext(mock_websocket_session, mock_emitter)
assert isinstance(context.emitter, BaseChainlitEmitter)
assert context.session == mock_websocket_session
async def test_chainlit_context_init_with_http(mock_http_session):
context = ChainlitContext(mock_http_session)
assert isinstance(context.emitter, BaseChainlitEmitter)
assert context.session == mock_http_session
async def test_init_ws_context(mock_websocket_session):
context = init_ws_context(mock_websocket_session)
assert isinstance(context, ChainlitContext)
assert context.session == mock_websocket_session
assert isinstance(context.emitter, ChainlitEmitter)
async def test_init_http_context():
context = init_http_context()
assert isinstance(context, ChainlitContext)
assert isinstance(context.session, HTTPSession)
assert isinstance(context.emitter, BaseChainlitEmitter)
async def test_get_context():
with pytest.raises(ChainlitContextException):
get_context()
init_http_context() # Initialize a context
context = get_context()
assert isinstance(context, ChainlitContext)