Test Case ID

Test Objective

Test Steps

Expected Outcome

Test Type

Execution

Comments

TC-001 

Verify Local DAG Bundle is the default used

  1. The user starts AF3 instance with DAGs in the DAG folder.
  1. User can see DAGs from the dag folder.
  2. Verify local DAG bundle is created with the name  dags-folder in dag_bundle table.

Positive

Pass


TC-002

Verify user can configure Git repo for DAGs

  1. Override env var `
    AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST
    `  with gitbundle class name
  2. Create a git connection. 
  1. Verify user can see DAGs from Github repo folder in their Airflow Env

Positive

Pass


TC-003

Verify user can configure private Git repo for DAGs.

  1. Override env var `
    AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST
    `  with gitbundle class name
  2. Create a git connection. 
  3. Provide ssh details in git connection
  1. Verify user can see DAGs from Github repo folder in their Airflow Env when they used SSH.
  2. Verify user can see DAGs from Github repo folder in their Airflow Env when they used access token.

Positive

Pass


TC-004

Ensure DAG run using a specific version of DAG bundle.

1. Create a DAG bundle(Use Git here).
2. Trigger a DAG run. 
3. Modify DAG code and create a new version.  
4. Verify that DAG executes on the original DAG bundle version.  
5. Clear tasks on the original bundle version.

DAG should execute on the DAG bundle version at the time of DAG run creation.

Positive

Pass


TC-005

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.  
2. Trigger DAG run.  
3. Modify DAG code and create a new version.  
4. Verify that DAG executes on the latest DAG bundle version.

DAG should execute on the latest DAG bundle version.

Positive

Not Implemented

We might consider doing it

TC-006

Validate that local bundle backend operates under "latest only" paradigm.

1. Configure local disk DAG bundle backend.  
2. Modify the DAG code.  
3. Trigger a DAG run.  
4. Confirm execution uses the latest DAG bundle version.

DAG runs should always execute using the latest DAG code.

Positive

Pass


TC-007

Validate Git backend retrieves DAG bundles based on commit hashes.

1. Create and version a DAG bundle in Git.  
2. Configure Git-based DAG bundle backend.  
3. Trigger DAG run with a specific commit hash.  
4. Verify that the correct DAG bundle version is used.

Correct DAG bundle version is retrieved based on commit hash.

Positive

Pass


TC-008

Ensure worker retrieves and uses correct DAG bundle version for task execution.

1. Trigger tasks using different versions of DAG bundles.  
2. Verify that the scheduler specifies the correct DAG bundle version for each task.  
3. Ensure the worker fetches and uses the specified version of the DAG bundle.  
4. Check if the worker can cache the bundle locally for multiple tasks when applicable.

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

Pass


TC-009

Validate DAG bundle backends can be configured via UI, API, and CLI.

1. Configure a DAG bundle backend using Airflow UI.  
2. Configure a DAG bundle backend using API.  
3. Configure a DAG bundle backend using CLI.

Configuration should succeed via UI, API, and CLI, and backend should function as expected.

Positive

Pass

UI & API not implemneted.


TC-010

Verify `.airflowignore` is still supported.

1. Create a DAG bundle with a `.airflowignore` file.  
2. Add files to be ignored.  
3. Deploy the bundle and trigger DAG parsing.  
4. Ensure that files in `.airflowignore` are not parsed.

Files listed in `.airflowignore` should be ignored.

Positive

Pass


TC-011

Verify user can override bundle parameters from kwargs.

  1.  Override env var `
    AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST
    `  with diff values of kwargs
    1. subdir
    2. refresh_interval
    3. min_file_process_interval

Verify all overridden confs are working as expected

Positive

Pass


TC-012

Verify user can also use DAGs with plugins

  1. Use plugins in Dags

DAG with plugins should also work with DAGbundles

Positive

NA

plugins not supported

TC-013

Ensure local caching of DAG bundles on workers.

1. Configure a worker for multiple tasks from the same bundle version.  
2. Ensure bundle caching.  
3. Trigger multiple tasks.  
4. Verify bundle reuse from the cache.

Worker should cache and reuse DAG bundles across tasks.

Positive

Pass


TC-014

Configure multiple DAG bundle backends.

1. Configure two different DAG bundle backends (e.g., Git and blob storage).
2. Trigger DAG runs from both backends.  
3. Monitor for backend conflicts.

Airflow should handle multiple DAG bundle backends smoothly.

Positive

Not Implemented

We do not have blob storage implemented at the moment. 

TC-015

Test high-frequency parsing configuration.

1. Set `refresh_interval` to very low values (e.g., 0 second).  
2. Monitor resource usage and DAG parsing behavior.

Airflow should handle high-frequency parsing without crashing.

Edge

Pass


TC_016

Try configuring multiple GIT DAG Bundles

  1. Create multiple GIT connections for every repo
  2. ADD bundle info in 
    AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST

Airflow should be able to source DAG's from multiple repos.

Positive

Pass


TC-018

 Verify behavior when we have duplicate DAGs from multiple repositories

  1. Create multiple GIT connections for every repo
  2. ADD bundle info in 
    AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST

We should not have multiple entries in DAG_version, DAG_CODE, and serialized DAG table

Negative

Pass


TC-019

Verify DAG level callbacks 

  1. Use a DAG with DAG level callback

DAG level callback should work. Check success and failure callbacks working fine

Positive

Pass


TC-020

worker cleanup




Not Implemented

Not Implemented

  • No labels