cursus.validation.script_testing.utils

Script Testing Utilities

This module provides utility functions for script testing operations, focusing on simple, reusable functions that support the main API.

validate_dag_and_config(dag, config_path)[source]

Validate DAG and config path inputs.

Parameters:
  • dag – PipelineDAG instance

  • config_path (str) – Path to configuration file

Returns:

Dictionary with validation results

Raises:

ValueError – If validation fails

Return type:

Dict[str, Any]

create_test_workspace(workspace_dir)[source]

Create test workspace directory structure.

Parameters:

workspace_dir (str) – Path to workspace directory

Returns:

Path to created workspace directory

Return type:

Path

load_json_config(config_path)[source]

Load JSON configuration file.

Parameters:

config_path (str) – Path to JSON configuration file

Returns:

Dictionary with configuration data

Return type:

Dict[str, Any]

save_execution_results(results, output_path)[source]

Save execution results to file.

Parameters:
  • results (Dict[str, Any]) – Execution results dictionary

  • output_path (str) – Path to save results

Returns:

Path to saved file

Return type:

Path

calculate_execution_summary(results)[source]

Calculate execution summary statistics.

Parameters:

results (Dict[str, Any]) – Execution results dictionary

Returns:

Dictionary with summary statistics

Return type:

Dict[str, Any]

format_execution_time(seconds)[source]

Format execution time for display.

Parameters:

seconds (float | None) – Execution time in seconds

Returns:

Formatted time string

Return type:

str

get_script_info(script_path)[source]

Get information about a script file.

Parameters:

script_path (str) – Path to script file

Returns:

Dictionary with script information

Return type:

Dict[str, Any]

check_has_main_function(script_path)[source]

Check if a Python script has a main function.

Parameters:

script_path (str) – Path to Python script

Returns:

True if script has main function, False otherwise

Return type:

bool

create_default_paths(script_name, base_dir='test')[source]

Create default input and output paths for a script.

Parameters:
  • script_name (str) – Name of the script

  • base_dir (str) – Base directory for paths

Returns:

Dictionary with input and output path mappings

Return type:

Dict[str, Dict[str, str]]

merge_script_configs(base_config, script_config)[source]

Merge base configuration with script-specific configuration.

Parameters:
  • base_config (Dict[str, Any]) – Base configuration dictionary

  • script_config (Dict[str, Any]) – Script-specific configuration dictionary

Returns:

Merged configuration dictionary

Return type:

Dict[str, Any]

validate_script_inputs(inputs)[source]

Validate script input configuration.

Parameters:

inputs (Dict[str, Any]) – Script input configuration

Returns:

List of validation error messages (empty if valid)

Return type:

List[str]

get_testing_summary()[source]

Get summary of script testing utilities.

Returns:

Dictionary with utility summary information

Return type:

Dict[str, Any]