DataEngEval / test /test_config.py
uparekh01151's picture
Initial commit for DataEngEval
acd8e16
raw
history blame
3.77 kB
"""
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)