Test Case ID | Test Objective | Test Steps | Expected Outcome | Test Type |
|---|---|---|---|---|
TC_001 | Verify successful renaming of Datasets to Assets in the Airflow UI. | 1. Open the Airflow UI. <br> 2. Navigate to the Datasets view. <br> 3. Check if the term "Datasets" has been replaced by "Assets." | The term "Datasets" should be replaced with "Assets" in the UI, including the view name and any dataset references. | Positive |
TC_002 | Verify that the `Asset` class can be instantiated with a valid `name`. | 1. Create a new asset using `Asset(name="test_asset")`. <br> 2. Check if the asset is successfully instantiated. | The asset should be instantiated with the provided name without errors. | Positive |
TC_003 | Verify that an `Asset` must have either a `name` or `uri`. | 1. Create an asset without providing either `name` or `uri`. <br> 2. Observe the behavior. | The system should raise an error indicating that at least one of `name` or `uri` is required. | Negative |
TC_004 | Verify grouping of assets by the `group` attribute in the UI. | 1. Create assets with different `group` values (e.g., model and dataset). <br> 2. Open the Assets view in the UI. <br> 3. Check if the assets are correctly grouped by their `group` attribute. | Assets should be displayed under their respective groups in the Assets view (e.g., model, dataset). | Positive |
TC_005 | Verify creation of asset subclasses like `Dataset` and `Model`. | 1. Instantiate a `Dataset` and a `Model` subclass. <br> 2. Check if the objects are created successfully. | Both the `Dataset` and `Model` subclasses should be instantiated without errors. | Positive |
TC_006 | Verify that subclassed assets (like `Dataset`) are auto-grouped by their types in the UI. | 1. Create assets using `Dataset` and `Model`. <br> 2. View them in the Assets view in the UI. <br> 3. Check if they are grouped under their respective types (dataset, model). | Assets should be auto-grouped by their type (e.g., dataset, model) in the UI. | Positive |
TC_007 | Test for error when attempting to create assets with duplicate `name`. | 1. Create two assets with the same `name` value. <br> 2. Check for errors or warnings. | The system should raise an error indicating a duplicate asset name. | Negative |
TC_008 | Validate the display of `Asset` objects in the Airflow web UI after creation. | 1. Create several assets. <br> 2. Run a DAG utilizing these assets. <br> 3. Open the UI and check if the assets are listed correctly under the Assets view. | All created assets should appear in the Assets view, reflecting correct data. | Positive |
TC_009 | Verify proper URI format handling in `Asset` instantiation. | 1. Create an asset using an `ObjectStoragePath` as the `uri` argument. <br> 2. Check if it is converted to a URI string. | The `ObjectStoragePath` should be correctly converted to a URI string during asset instantiation. | Positive |
TC_010 | Validate that the task’s `inlets` and `outlets` are correctly tied to the associated assets. | 1. Create a DAG with tasks using `inlets` and `outlets` pointing to assets. <br> 2. Run the DAG and check task execution results. | The tasks should execute correctly, using the inlets and outlets to interact with the assets. | Positive |
TC_011 | Verify color coding for different asset groups in the UI. | 1. Create assets belonging to different groups (e.g., dataset, model). <br> 2. Check if the assets are color-coded according to their group in the UI. | The assets should be color-coded by their group in the Assets view. | Positive |
TC_012 | Verify that assets are updated periodically in Airflow as expected. | 1. Create a periodic DAG that updates assets. <br> 2. Run the DAG multiple times. <br> 3. Check if the assets are updated incrementally or replaced based on configuration. | The assets should either be replaced, appended to, or versioned as expected after each DAG run. | Positive |
TC_013 | Validate asset updates when used in backfill operations. | 1. Create assets and backfill them in a DAG run. <br> 2. Check if assets are updated retroactively as expected. | Assets should update correctly based on the backfill operation. | Positive |
TC_014 | Test asset categorization with user-defined subclasses. | 1. Create a custom subclass of Asset. <br> 2. Instantiate the subclass and check if it appears in the Assets view. | The custom asset should appear in the Assets view, categorized according to its type or group. | Positive |