mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-09-13 03:32:21 +02:00
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
|
|
import core.database as database
|
|
import core.session_manager as session_manager
|
|
from core.database import Session as DbSession
|
|
from core.session_manager import SessionManager
|
|
|
|
|
|
def test_create_session_persists_endpoint_headers(tmp_path, monkeypatch):
|
|
engine = create_engine(f"sqlite:///{tmp_path / 'sessions.db'}")
|
|
database.Base.metadata.create_all(engine)
|
|
session_local = sessionmaker(bind=engine, autoflush=False, autocommit=False)
|
|
monkeypatch.setattr(session_manager, "SessionLocal", session_local)
|
|
|
|
manager = SessionManager.__new__(SessionManager)
|
|
manager.sessions = {}
|
|
manager.upload_handler = None
|
|
headers = {
|
|
"Authorization": "Bearer test-key",
|
|
"HTTP-Referer": "http://localhost:7011",
|
|
}
|
|
manager.create_session(
|
|
session_id="child",
|
|
name="Child",
|
|
endpoint_url="https://openrouter.ai/api/v1/chat/completions",
|
|
model="moonshotai/kimi-k3",
|
|
owner="alice",
|
|
headers=headers,
|
|
)
|
|
|
|
db = session_local()
|
|
try:
|
|
row = db.query(DbSession).filter(DbSession.id == "child").one()
|
|
restored = manager._db_to_session_meta(row)
|
|
finally:
|
|
db.close()
|
|
|
|
assert restored is not None
|
|
assert restored.headers == headers
|