Orchestrata Ultimate › Tests › Reference › orchestrator › test_pipeline_runner
Tests reference — tests/orchestrator/test_pipeline_runner.py
Module of tests/orchestrator, split out because the directory page would be too large.
Prose pending.
tests/orchestrator/test_pipeline_runner.py
source · 27 tests · 562 lines
Unit tests for PipelineRunner (SPEC-003 US-004) — the orchestrator that
Covers: core.tracing.context, orchestrator.artifact_store, orchestrator.pipeline_router, orchestrator.pipeline_runner, session.controller._core, core.packet/ (package)
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_pipeline_result_successful_true_when_resolved |
37 | |
| function | test_pipeline_result_successful_false_when_not_resolved |
44 | |
| function | test_register_handlers_skips_alias_already_registered |
54 | Regression-style: pre-registering a handler for an alias must make |
| function | test_register_handlers_records_volk_in_registry_and_heartbeats_on_run |
77 | Orchestrator↔volk heartbeat awareness: _register_handlers registers the |
| function | test_run_stage_non_retryable_error_fails_immediately |
118 | A non-retryable error (ImportError) fails the stage on the first |
| function | test_run_stage_retryable_error_then_succeeds |
141 | A retryable error (ConnectionError) on the first attempt is retried |
| function | test_run_stage_second_retry_uses_second_backoff_value |
175 | Two consecutive retryable failures burn through the first then second |
| function | test_run_stage_missing_handler_returns_failed |
222 | No handler registered for the stage's alias: Postman's route_sync |
| function | test_run_stage_artifact_extraction_skips_invalid_artifact_type |
240 | An artifact_types entry that doesn't map to a real ArtifactType is |
| function | test_extract_content_doc_output_prefers_doc_content_over_doc_summary |
278 | F14: the Documentor's full authored document (doc_content) is now |
| function | test_extract_content_doc_output_falls_back_to_doc_summary |
296 | When doc_content is absent (or blank), DOC_OUTPUT extraction falls |
| function | test_get_session_log_returns_copy_of_internal_log |
321 | |
| function | test_log_stage_to_session_noop_without_controller |
351 | |
| function | test_log_stage_to_session_logs_work_with_error_detail |
359 | |
| function | test_log_stage_to_session_swallows_exception_on_bad_duration |
376 | Regression guard: {duration_ms:.0f} raises ValueError when |
| function | test_set_handoff_noop_without_controller |
392 | |
| function | test_set_handoff_records_key_files_from_stages |
401 | |
| function | test_set_handoff_empty_key_files_without_stages |
418 | |
| function | test_set_handoff_swallows_exception_on_malformed_overall_status |
433 | Regression guard: result.overall_status.value raises AttributeError |
| function | test_extract_content_qa_report_reads_review_key |
452 | qa/volk.py's _build_compliance_packet emits the LLM review under |
| function | test_extract_content_qa_report_phantom_review_report_key_stays_dead |
468 | Negative space of the fix: the phantom review_report key must not |
| function | test_extract_content_qa_report_clean_pass_composes_test_summary |
480 | A clean QA pass carries no review key (review=None means the LLM |
| function | test_extract_content_qa_report_fail_composes_fail_summary |
494 | |
| function | test_extract_content_qa_report_none_for_non_qa_payload |
505 | A payload from a non-QA stage (neither review nor test_passed) |
| function | test_default_store_is_durable_when_project_dir_known |
516 | PipelineRunner(project_dir=...) without an injected store must build a |
| function | test_default_store_stays_memory_only_without_project_dir |
528 | No project_dir → no sanctioned base dir → memory-only store (bare test |
| function | test_durable_store_persists_and_replays_qa_report |
536 | End-to-end durability: an artifact added through the runner's store is |