Local changes: Updated model training, removed debug instrumentation, and configuration improvements

This commit is contained in:
kfox
2025-12-26 01:15:43 -05:00
commit cc60da49e7
388 changed files with 57127 additions and 0 deletions

View File

@@ -0,0 +1,97 @@
"""Tests for database system."""
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from src.core.database import (
get_database, Base, Exchange, Strategy, Trade, Position, Order
)
class TestDatabase:
"""Tests for database operations."""
def test_database_initialization(self):
"""Test database initialization."""
db = get_database()
assert db is not None
assert db.engine is not None
def test_table_creation(self, mock_database):
"""Test table creation."""
engine, Session = mock_database
# Verify tables exist
assert Base.metadata.tables.get('exchanges') is not None
assert Base.metadata.tables.get('strategies') is not None
assert Base.metadata.tables.get('trades') is not None
def test_exchange_model(self, mock_database):
"""Test Exchange model."""
engine, Session = mock_database
session = Session()
exchange = Exchange(
name="test_exchange",
api_key="encrypted_key",
secret_key="encrypted_secret",
api_permissions="read_only",
is_enabled=True
)
session.add(exchange)
session.commit()
retrieved = session.query(Exchange).filter_by(name="test_exchange").first()
assert retrieved is not None
assert retrieved.name == "test_exchange"
assert retrieved.api_permissions == "read_only"
session.close()
def test_strategy_model(self, mock_database):
"""Test Strategy model."""
engine, Session = mock_database
session = Session()
strategy = Strategy(
name="test_strategy",
strategy_type="RSI",
parameters='{"rsi_period": 14}',
is_enabled=True,
is_paper_trading=True
)
session.add(strategy)
session.commit()
retrieved = session.query(Strategy).filter_by(name="test_strategy").first()
assert retrieved is not None
assert retrieved.strategy_type == "RSI"
session.close()
def test_trade_model(self, mock_database):
"""Test Trade model."""
engine, Session = mock_database
session = Session()
trade = Trade(
order_id="test_order_123",
symbol="BTC/USD",
side="buy",
type="market",
price=50000.0,
amount=0.01,
cost=500.0,
fee=0.5,
status="filled",
is_paper_trade=True
)
session.add(trade)
session.commit()
retrieved = session.query(Trade).filter_by(order_id="test_order_123").first()
assert retrieved is not None
assert retrieved.symbol == "BTC/USD"
assert retrieved.status == "filled"
session.close()