Spaces:
Sleeping
Sleeping
| """ | |
| 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) | |