Test Case ID | Test Objective | Test Steps | Expected Outcome | Test Type |
---|---|---|---|---|
TC-001 | Ensure DAG run using a specific version of DAG bundle. | 1. Create a DAG bundle with multiple versions. | DAG should execute on the DAG bundle version at the time of DAG run creation. | Positive |
TC-002 | Ensure DAGs can opt to continue the existing behavior of running on the latest DAG code. | 1. Update DAG to opt to continue using the latest code. | DAG should execute on the latest DAG bundle version. | Positive |
TC-003 | Validate that local disk backend operates under "latest only" paradigm. | 1. Configure local disk DAG bundle backend. | DAG runs should always execute on the latest DAG code. | Positive |
TC-004 | Validate Git backend retrieves DAG bundles based on commit hashes. | 1. Create and version a DAG bundle in Git. | Correct DAG bundle version is retrieved based on commit hash. | Positive |
TC-005 | Verify manifest controls flexible DAG parsing behavior. | 1. Create a manifest with parsing rules for directories and DAG files. | DAGs should be parsed according to intervals and paths defined in the manifest. | Positive |
TC-006 | Validate scheduler behavior with latest DAG bundle versions. | 1. Configure multiple DAG bundle versions. | Scheduler should use the latest DAG bundle version for new DAG runs. | Positive |
TC-007 | Ensure worker retrieves and uses correct DAG bundle version for task execution. | 1. Trigger tasks using different versions of DAG bundles. | Worker should receive instructions from the executor about the correct DAG bundle version and fetch it successfully. The worker may cache and reuse bundles for multiple tasks when necessary. | Positive |
TC-008 | Validate DAG bundle backends can be configured via UI, API, and CLI. | 1. Configure a DAG bundle backend using Airflow UI. | Configuration should succeed via UI, API, and CLI, and backend should function as expected. | Positive |
TC-009 | Verify `.airflowignore` is still supported. | 1. Create a DAG bundle with a `.airflowignore` file. | Files listed in `.airflowignore` should be ignored. | Positive |
TC-010 | Test `bundle_fetch_interval` from the manifest. | 1. Create a manifest with a `bundle_fetch_interval` (e.g., 5 minutes). | DAG bundle fetches should occur at the specified interval. | Positive |
TC-011 | Ensure backward compatibility with existing DAG folders. | 1. Deploy Airflow without configuring DAG bundle backends. | Airflow should work with existing DAG folders without issues. | Positive |
TC-012 | Handle backend unavailability. | 1. Configure a DAG bundle backend (e.g., Git). | Airflow should log errors and handle the unavailability gracefully. | Negative |
TC-013 | Ensure local caching of DAG bundles on workers. | 1. Configure a worker for multiple tasks from the same bundle version. | Worker should cache and reuse DAG bundles across tasks. | Positive |
TC-014 | Configure multiple DAG bundle backends. | 1. Configure two different DAG bundle backends (e.g., Git and blob storage). | Airflow should handle multiple DAG bundle backends smoothly. | Positive |
TC-015 | Test long-running DAG with DAG bundle version change. | 1. Trigger a long-running DAG using an older version. | Ongoing tasks should use the original DAG bundle version. | Positive |
TC-016 | Validate parsing behavior with varied scan intervals. | 1. Create a manifest with different `scan_interval` and `min_file_parse_interval` for directories. | Parsing should follow manifest-specified intervals. | Positive |
TC-017 | Handle misconfigured manifest file. | 1. Create a manifest with invalid configurations (e.g., incorrect file paths). | Airflow should log errors but continue functioning without crashing. | Negative |
TC-018 | Test parsing of DAG files on change. | 1. Configure a manifest with `min_file_parse_interval: on change`. | Airflow should re-parse only changed files. | Positive |
TC-019 | Manual refresh of DAG bundles via UI/API/CLI. | 1. Trigger a DAG run. | DAG bundle refresh should apply changes successfully. | Positive |
TC-020 | Handle large temp disk usage when caching bundles. | 1. Configure a worker to cache multiple DAG bundles. | Airflow should not exceed temp disk limits. | Edge |
TC-021 | Handle scenario where the scheduler/executor requests a non-existent DAG bundle version. | 1. Configure a DAG run with a version of a DAG bundle that does not exist (e.g., incorrect version in the configuration). | The worker should log an error when it cannot retrieve the non-existent DAG bundle version. The task execution should fail gracefully, and Airflow should log appropriate error messages. | Negative |
TC-022 | Test high-frequency parsing configuration. | 1. Set `scan_interval` and `min_file_parse_interval` to very low values (e.g., 1 second). | Airflow should handle high-frequency parsing without crashing. | Edge |
TC-023 | Handle corrupted DAG bundle retrieval. | 1. Simulate corrupted DAG bundle in the backend. | Airflow should fail gracefully and log an appropriate error. | Negative |
Overview
Content Tools
Apps