Testing
Test fixtures, helpers, environment setup, and test runner.
Testing utilities package — lazy-loaded.
Contains environment management and test runner utilities.
- siege_utilities.testing.setup_spark_environment()[source]
Set up optimal Spark environment based on current system.
- Returns:
True if setup successful, False otherwise
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.setup_spark_environment(): >>> print("Spark environment ready!")
- siege_utilities.testing.get_system_info()[source]
Get comprehensive system information for debugging.
Example
>>> import siege_utilities >>> info = siege_utilities.get_system_info() >>> for key, value in info.items(): >>> print(f"{key}: {value}")
- siege_utilities.testing.ensure_env_vars(required_vars)[source]
Ensure required environment variables are set. Checks SDKMAN on Linux and macOS, falls back to system paths.
- Parameters:
required_vars (List[str]) – List of environment variable names to check/set
- Returns:
Dictionary mapping variable names to their resolved values (or None if not found)
- Return type:
Example
>>> import siege_utilities >>> resolved = siege_utilities.ensure_env_vars(["JAVA_HOME", "SPARK_HOME"]) >>> print(f"Java: {resolved['JAVA_HOME']}")
- siege_utilities.testing.check_java_version()[source]
Check Java version and compatibility.
Example
>>> import siege_utilities >>> version, compatible = siege_utilities.check_java_version() >>> if compatible: >>> print(f"Java {version} is compatible")
- siege_utilities.testing.diagnose_environment()[source]
Run comprehensive environment diagnostics.
- Returns:
True if environment is healthy, False if issues found
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.diagnose_environment(): >>> print("Environment is healthy!") >>> else: >>> print("Issues found - check logs")
- siege_utilities.testing.quick_environment_setup()[source]
One-command environment setup for common scenarios.
- Returns:
True if setup successful, False otherwise
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.quick_environment_setup(): >>> print("Ready to go!")
- siege_utilities.testing.run_test_suite(mode='smoke', module=None, parallel=False, verbose=False, install_deps=False, setup_environment=True)[source]
Run a complete test suite with proper environment setup.
- Parameters:
- Returns:
True if all tests pass, False otherwise
- Return type:
Example
>>> import siege_utilities >>> success = siege_utilities.run_test_suite( >>> mode="distributed", >>> verbose=True, >>> setup_environment=True >>> )
- siege_utilities.testing.get_test_report()[source]
Generate a comprehensive test report.
Example
>>> import siege_utilities >>> report = siege_utilities.get_test_report() >>> print(f"Environment healthy: {report['environment_healthy']}")
- siege_utilities.testing.run_comprehensive_test()[source]
Run comprehensive testing including environment, smoke tests, and full test suite.
- Returns:
True if all tests pass, False otherwise
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.run_comprehensive_test(): >>> print("Everything is working perfectly!")
- siege_utilities.testing.quick_smoke_test()[source]
Run a very quick smoke test to check basic functionality.
- Returns:
True if smoke test passes, False otherwise
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.quick_smoke_test(): >>> print("Basic functionality working!")
- siege_utilities.testing.build_pytest_command(mode='smoke', module=None, parallel=False, verbose=False)[source]
Build pytest command based on parameters.
- Parameters:
- Returns:
List of command arguments for pytest
- Return type:
Example
>>> import siege_utilities >>> cmd = siege_utilities.build_pytest_command( >>> mode="smoke", >>> module="distributed", >>> verbose=True >>> ) >>> print(cmd)
Submodules
Environment management utilities for siege_utilities. Handles environment variable setup, Java/Spark environment detection, etc.
- siege_utilities.testing.environment.ensure_env_vars(required_vars)[source]
Ensure required environment variables are set. Checks SDKMAN on Linux and macOS, falls back to system paths.
- Parameters:
required_vars (List[str]) – List of environment variable names to check/set
- Returns:
Dictionary mapping variable names to their resolved values (or None if not found)
- Return type:
Example
>>> import siege_utilities >>> resolved = siege_utilities.ensure_env_vars(["JAVA_HOME", "SPARK_HOME"]) >>> print(f"Java: {resolved['JAVA_HOME']}")
- siege_utilities.testing.environment.check_java_version()[source]
Check Java version and compatibility.
Example
>>> import siege_utilities >>> version, compatible = siege_utilities.check_java_version() >>> if compatible: >>> print(f"Java {version} is compatible")
- siege_utilities.testing.environment.setup_spark_environment()[source]
Set up optimal Spark environment based on current system.
- Returns:
True if setup successful, False otherwise
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.setup_spark_environment(): >>> print("Spark environment ready!")
- siege_utilities.testing.environment.get_system_info()[source]
Get comprehensive system information for debugging.
Example
>>> import siege_utilities >>> info = siege_utilities.get_system_info() >>> for key, value in info.items(): >>> print(f"{key}: {value}")
- siege_utilities.testing.environment.diagnose_environment()[source]
Run comprehensive environment diagnostics.
- Returns:
True if environment is healthy, False if issues found
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.diagnose_environment(): >>> print("Environment is healthy!") >>> else: >>> print("Issues found - check logs")
- siege_utilities.testing.environment.quick_environment_setup()[source]
One-command environment setup for common scenarios.
- Returns:
True if setup successful, False otherwise
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.quick_environment_setup(): >>> print("Ready to go!")
Test runner utilities for siege_utilities. Provides functions for running different test suites with proper environment setup.
- siege_utilities.testing.runner.run_command(cmd, description, log_file=None)[source]
Run a command with proper logging and error handling.
- Parameters:
- Returns:
True if command succeeded, False otherwise
- Return type:
Example
>>> import siege_utilities >>> success = siege_utilities.run_command( >>> ["python", "-m", "pytest", "tests/"], >>> "Running tests" >>> )
- siege_utilities.testing.runner.quick_smoke_test()[source]
Run a very quick smoke test to check basic functionality.
- Returns:
True if smoke test passes, False otherwise
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.quick_smoke_test(): >>> print("Basic functionality working!")
- siege_utilities.testing.runner.build_pytest_command(mode='smoke', module=None, parallel=False, verbose=False)[source]
Build pytest command based on parameters.
- Parameters:
- Returns:
List of command arguments for pytest
- Return type:
Example
>>> import siege_utilities >>> cmd = siege_utilities.build_pytest_command( >>> mode="smoke", >>> module="distributed", >>> verbose=True >>> ) >>> print(cmd)
- siege_utilities.testing.runner.run_test_suite(mode='smoke', module=None, parallel=False, verbose=False, install_deps=False, setup_environment=True)[source]
Run a complete test suite with proper environment setup.
- Parameters:
- Returns:
True if all tests pass, False otherwise
- Return type:
Example
>>> import siege_utilities >>> success = siege_utilities.run_test_suite( >>> mode="distributed", >>> verbose=True, >>> setup_environment=True >>> )
- siege_utilities.testing.runner.get_test_report()[source]
Generate a comprehensive test report.
Example
>>> import siege_utilities >>> report = siege_utilities.get_test_report() >>> print(f"Environment healthy: {report['environment_healthy']}")
- siege_utilities.testing.runner.run_comprehensive_test()[source]
Run comprehensive testing including environment, smoke tests, and full test suite.
- Returns:
True if all tests pass, False otherwise
- Return type:
Example
>>> import siege_utilities >>> if siege_utilities.run_comprehensive_test(): >>> print("Everything is working perfectly!")