import os
import sys
from pathlib import Path
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import Session, clear_mappers, sessionmaker
sys.path.append(str(Path(__file__).parent.parent.parent))
from nomy_data_models.models.base import Base
from nomy_data_models.models.enriched_trade import EnrichedTrade
from nomy_data_models.models.position import (
MarketType,
Position,
PositionDirection,
PositionStatus,
)
from nomy_data_models.models.raw_trade import RawTrade
from nomy_data_models.models.service_state import ServiceState
from nomy_data_models.models.trade_base import MarketType
from nomy_data_models.models.wallet_state import DataState, SyncState, WalletState
@pytest.fixture(scope="session")
def setup_session():
pass
@pytest.fixture(scope="function")
def setup_teardown():
yield
clear_mappers()
@pytest.fixture(scope="function")
def in_memory_db():
engine = create_engine("sqlite:///:memory:", echo=False)
Base.metadata.create_all(engine)
return engine
@pytest.fixture(scope="function")
def session(in_memory_db):
Session = sessionmaker(bind=in_memory_db)
session = Session()
yield session
session.close()