DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Test Case ID | Test Objective | Test Steps | Expected Outcome | Test Type | Status |
|---|---|---|---|---|---|
HITL-001 | Validate basic HITLOperator functionality with single option selection | 1. Create DAG with HITLOperator. | Task completes successfully, XCom contains chosen_options="option1", params_input={} | Positive | Pass |
HITL-002 | Validate HITLOperator with multiple option selection | 1. Create HITLOperator with multiple=True 3. Trigger DAG and select multiple options "opt1", "opt3" 4. Verify task completion | Task completes successfully, XCom contains chosen_options="opt1", "opt3" | Positive | Pass |
HITL-003 | Validate HITLOperator with default values when no input is provided | 1. Create HITLOperator with defaults="option1" 4. Verify default is used | Task completes with timeout, defaults are applied, chosen_options="option1" | Positive | Pass |
HITL-004 | Validate HITLOperator fails with invalid defaults | 1. Create HITLOperator with options="opt1", "opt2" 2. Set defaults="invalid_option" 3. Attempt to initialize operator | ValueError raised: 'defaults should be a subset of options' | Negative | Pass |
HITL-005 | Validate HITLOperator fails with multiple defaults when multiple=False | 1. Create HITLOperator with multiple=False 2. Set defaults="opt1", "opt2" | ValueError raised: 'More than one defaults given when "multiple" is set to False' Import Error for DAG | Negative | Pass |
HITL-006 | Validate ApprovalOperator with approval selection | 1. Create ApprovalOperator with subject="Approve this task" 3. Select "Approve" option 4. Verify downstream tasks execute | Task completes successfully, downstream tasks are executed, no tasks skipped | Positive | Pass |
HITL-007 | Validate ApprovalOperator with rejection and skip downstream | 1. Create ApprovalOperator with downstream tasks 2. Trigger DAG 3. Select "Reject" option 4. Verify downstream task skipping | Task completes successfully, all downstream tasks are skipped | Positive | Pass |
HITL-008 | Validate ApprovalOperator fails when multiple parameter is provided | 1. Attempt to create ApprovalOperator with multiple=True 2. Initialize operator | ValueError raised: 'Passing multiple to ApprovalOperator is not allowed' | Negative | Pass |
HITL-009 | Validate ApprovalOperator fails when options parameter is provided |
| ValueError raised: 'Passing options to ApprovalOperator is not allowed' | Negative | Pass |
HITL-010 | Validate HITLEntryOperator with params input |
| Task completes successfully, XCom contains params_input={"name": "test_name"} | Positive | Pass |
HITL-011 | Validate HITLEntryOperator with default OK option | 1. Create HITLEntryOperator without specifying options 2. Trigger DAG 3. Verify default options and defaults are set | Positive | Pass | |
HITL-012 | Validate HITLBranchOperator with valid branch selection | 1. Create HITLBranchOperator with options="task_1", "task_2" 2. Create corresponding downstream tasks 3. Trigger DAG and select "task_1" 4. Verify branching behavior | Only task_1 executes, task_2 is skipped via branch logic | Positive | Pass |
HITL-013 | Validate HITLOperator with execution timeout | 1. Create HITLOperator with execution_timeout=timedelta(minutes=1) 3. Wait for timeout without providing input 4. Verify timeout handling | HITLTimeoutError is raised, task fails due to timeout | Edge | Pass |
HITL-014 | Validate HITLOperator template field rendering | 1. Create HITLOperator with subject="{{ ds }}", body="{{ task_instance.task_id }}" | Subject shows execution date, body shows task ID | Positive | Pass |
HITL-015 | Validate HITLOperator with invalid chosen options response | 1. Create HITLOperator with options=["opt1", "opt2"] 2. Simulate invalid response with option "invalid". 3. Process the response | .ValueError raised: 'Responses {"invalid"} not in ["opt1", "opt2"]' | Negative | Pass |
HITL-016 | Validate HITLOperator with mismatched params input | 1. Create HITLOperator with params={"field1": Param("", type="string")} | ValueError raised: 'params_input does not match params' | Negative | Pass |
HITL-017 | Validate HITLOperator trigger event error handling | 1. Create HITLOperator 3. Process the error event | HITLTriggerEventError is raised | Negative | |
HITL-018 | Validate HITLOperator XCom output structure | 1. Create HITLOperator and complete successfully | XCom contains HITLTriggerEventSuccessPayload with chosen_options (list) and params_input (dict) | Positive | Pass |
HITL-019 | Validate ApprovalOperator with ignore_downstream_trigger_rules=True | 1. Create ApprovalOperator with ignore_downstream_trigger_rules=True 2. Set up complex downstream task dependencies 3. Select "Reject" and verify skipping behavior | All flat downstream relatives are skipped, not just direct relatives | Positive | Pass |
HITL-020 | Validate ApprovalOperator with no downstream tasks | 1. Create ApprovalOperator as final task in DAG 2. Select "Reject" option<br/> | Task completes successfully, log shows "No downstream tasks; nothing to do." | Edge | Pass |
HITL-021 | Validate HITLOperator serialized_params property | 1. Create HITLOperator with ParamsDict params 2. Access serialized_params property 3. Verify output format | Returns dict representation of ParamsDict.dump() | Positive | Pass |
HITL-022 | Validate HITLOperator with complex markdown body | 1. Create HITLOperator with body containing markdown 2. Include lists, bold text, code blocks | Markdown is properly rendered in UI for human review | Positive | Pass |
HITL-024 | Validate HITLOperator with empty body parameter | 1. Create HITLOperator with body=None 2. Trigger DAG | Task executes successfully, no body text displayed in UI | Edge | Pass |
HITL-025 | Validate concurrent HITL tasks in same DAG | 1. Create DAG with multiple parallel HITLOperators 2. Trigger DAG 3. Respond to each HITL task independently 4. Verify all complete successfully | All HITL tasks complete independently, no interference between tasks | Positive | Pass |