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,81 @@
"""Tests for exchanges API endpoints."""
import pytest
from unittest.mock import Mock, patch
from fastapi.testclient import TestClient
from backend.main import app
from src.core.database import Exchange
@pytest.fixture
def client():
"""Test client fixture."""
return TestClient(app)
@pytest.fixture
def mock_exchange():
"""Mock exchange object."""
exchange = Mock(spec=Exchange)
exchange.id = 1
exchange.name = "coinbase"
exchange.is_enabled = True
exchange.api_permissions = "read_only"
return exchange
class TestListExchanges:
"""Tests for GET /api/exchanges."""
@patch('backend.api.exchanges.get_db')
def test_list_exchanges_success(self, mock_get_db, client):
"""Test listing exchanges."""
mock_db = Mock()
mock_session = Mock()
mock_db.get_session.return_value = mock_session
mock_get_db.return_value = mock_db
mock_session.query.return_value.all.return_value = []
response = client.get("/api/exchanges")
assert response.status_code == 200
data = response.json()
assert isinstance(data, list)
class TestGetExchange:
"""Tests for GET /api/exchanges/{exchange_id}."""
@patch('backend.api.exchanges.get_db')
def test_get_exchange_success(self, mock_get_db, client, mock_exchange):
"""Test getting exchange by ID."""
mock_db = Mock()
mock_session = Mock()
mock_db.get_session.return_value = mock_session
mock_get_db.return_value = mock_db
mock_session.query.return_value.filter_by.return_value.first.return_value = mock_exchange
response = client.get("/api/exchanges/1")
assert response.status_code == 200
data = response.json()
assert data["id"] == 1
@patch('backend.api.exchanges.get_db')
def test_get_exchange_not_found(self, mock_get_db, client):
"""Test getting non-existent exchange."""
mock_db = Mock()
mock_session = Mock()
mock_db.get_session.return_value = mock_session
mock_get_db.return_value = mock_db
mock_session.query.return_value.filter_by.return_value.first.return_value = None
response = client.get("/api/exchanges/999")
assert response.status_code == 404
assert "Exchange not found" in response.json()["detail"]