Spaces:
Sleeping
Sleeping
File size: 3,768 Bytes
acd8e16 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
"""
Test configuration loading and validation.
"""
import pytest
import os
import sys
# Add src to path for imports
sys.path.append('src')
from utils.config_loader import config_loader
class TestConfigLoader:
"""Test configuration loader functionality."""
def test_app_config_loading(self):
"""Test that app configuration loads correctly."""
app_config = config_loader.get_app_config()
assert app_config.title is not None
assert app_config.description is not None
assert app_config.theme is not None
assert app_config.server_host is not None
assert app_config.server_port is not None
assert isinstance(app_config.server_share, bool)
def test_leaderboard_config_loading(self):
"""Test that leaderboard configuration loads correctly."""
leaderboard_config = config_loader.get_leaderboard_config()
assert leaderboard_config.path is not None
assert isinstance(leaderboard_config.columns, list)
assert len(leaderboard_config.columns) > 0
assert isinstance(leaderboard_config.top_results, int)
assert leaderboard_config.top_results > 0
def test_metrics_config_loading(self):
"""Test that metrics configuration loads correctly."""
metrics_config = config_loader.get_metrics_config()
assert isinstance(metrics_config.weights, dict)
assert len(metrics_config.weights) > 0
assert isinstance(metrics_config.descriptions, dict)
assert isinstance(metrics_config.thresholds, dict)
assert isinstance(metrics_config.formatting, dict)
# Check that weights sum to approximately 1.0
total_weight = sum(metrics_config.weights.values())
assert abs(total_weight - 1.0) < 0.01
def test_prompts_config_loading(self):
"""Test that prompts configuration loads correctly."""
prompts_config = config_loader.get_prompts_config()
assert isinstance(prompts_config.files, dict)
assert isinstance(prompts_config.fallback, str)
assert len(prompts_config.fallback) > 0
assert isinstance(prompts_config.placeholders, dict)
assert isinstance(prompts_config.sections, dict)
def test_dialects_loading(self):
"""Test that dialects are loaded correctly."""
dialects = config_loader.get_dialects()
assert isinstance(dialects, list)
assert len(dialects) > 0
assert "presto" in dialects
assert "bigquery" in dialects
assert "snowflake" in dialects
def test_ui_config_loading(self):
"""Test that UI configuration loads correctly."""
ui_config = config_loader.get_ui_config()
assert isinstance(ui_config, dict)
assert "tabs" in ui_config
assert "buttons" in ui_config
assert "inputs" in ui_config
assert "outputs" in ui_config
def test_environment_config_loading(self):
"""Test that environment configuration loads correctly."""
env_config = config_loader.get_environment_config()
assert isinstance(env_config, dict)
assert "mock_mode_env" in env_config
assert "hf_token_env" in env_config
assert "mock_mode_default" in env_config
def test_mock_sql_config_loading(self):
"""Test that mock SQL configuration loads correctly."""
mock_config = config_loader.get_mock_sql_config()
assert isinstance(mock_config, dict)
assert "patterns" in mock_config
assert "templates" in mock_config
assert isinstance(mock_config["patterns"], dict)
assert isinstance(mock_config["templates"], dict)
|