This is an automated email from the ASF dual-hosted git repository.
shahar1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 12478307aee Remove dead code from airflow-core and task-sdk unit tests
(non-db pass) (#67694)
12478307aee is described below
commit 12478307aee514ea0820dafb8786cecdad8fcc57
Author: Shahar Epstein <[email protected]>
AuthorDate: Fri May 29 14:50:39 2026 +0300
Remove dead code from airflow-core and task-sdk unit tests (non-db pass)
(#67694)
---
.../core_api/routes/public/test_import_error.py | 15 ---------------
.../core_api/routes/public/test_task_instances.py | 14 --------------
airflow-core/tests/unit/assets/test_manager.py | 10 +---------
.../tests/unit/cli/commands/test_info_command.py | 8 --------
.../tests/unit/cli/commands/test_task_command.py | 18 ++----------------
airflow-core/tests/unit/cli/conftest.py | 20 --------------------
.../tests/unit/plugins/test_plugins_manager.py | 16 ----------------
scripts/ci/prek/known_provide_session_positional.txt | 2 +-
8 files changed, 4 insertions(+), 99 deletions(-)
diff --git
a/airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_import_error.py
b/airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_import_error.py
index 79121e1b86a..886b7266021 100644
---
a/airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_import_error.py
+++
b/airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_import_error.py
@@ -52,21 +52,6 @@ IMPORT_ERROR_NON_EXISTED_KEY = "non_existed_key"
BUNDLE_NAME = "testing"
[email protected]
-@provide_session
-def permitted_dag_model(testing_dag_bundle, session: Session = NEW_SESSION) ->
DagModel:
- dag_model = DagModel(
- fileloc=FILENAME1,
- relative_fileloc=FILENAME1,
- dag_id="dag_id1",
- is_paused=False,
- bundle_name=BUNDLE_NAME,
- )
- session.add(dag_model)
- session.commit()
- return dag_model
-
-
@pytest.fixture
@provide_session
def permitted_dag_model_all(testing_dag_bundle, session: Session =
NEW_SESSION) -> set[str]:
diff --git
a/airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_task_instances.py
b/airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_task_instances.py
index 1e874f925b3..10b91820f92 100644
---
a/airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_task_instances.py
+++
b/airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_task_instances.py
@@ -757,20 +757,6 @@ class TestGetMappedTaskInstances:
},
)
- @pytest.fixture
- def one_task_with_single_mapped_ti(self, dag_maker, session):
- self.create_dag_runs_with_mapped_tasks(
- dag_maker,
- session,
- dags={
- "mapped_tis": {
- "success": 1,
- "failed": 0,
- "running": 0,
- },
- },
- )
-
@pytest.fixture
def one_task_with_many_mapped_tis(self, dag_maker, session):
self.create_dag_runs_with_mapped_tasks(
diff --git a/airflow-core/tests/unit/assets/test_manager.py
b/airflow-core/tests/unit/assets/test_manager.py
index 0585fac803a..8f9d290a2b0 100644
--- a/airflow-core/tests/unit/assets/test_manager.py
+++ b/airflow-core/tests/unit/assets/test_manager.py
@@ -18,7 +18,6 @@
from __future__ import annotations
import concurrent.futures
-import itertools
import logging
from collections import Counter
from typing import TYPE_CHECKING
@@ -39,7 +38,7 @@ from airflow.models.asset import (
DagScheduleAssetAliasReference,
DagScheduleAssetReference,
)
-from airflow.models.dag import DAG, DagModel
+from airflow.models.dag import DagModel
from airflow.sdk.definitions.asset import Asset
from tests_common.test_utils.config import conf_vars
@@ -66,13 +65,6 @@ def mock_task_instance():
return None
-def create_mock_dag():
- for dag_id in itertools.count(1):
- mock_dag = mock.Mock(spec=DAG)
- mock_dag.dag_id = dag_id
- yield mock_dag
-
-
class TestAssetManager:
def test_register_asset_change_asset_doesnt_exist(self,
mock_task_instance):
mock_task_instance = mock.Mock()
diff --git a/airflow-core/tests/unit/cli/commands/test_info_command.py
b/airflow-core/tests/unit/cli/commands/test_info_command.py
index 78b5e2b948f..20a05dc328f 100644
--- a/airflow-core/tests/unit/cli/commands/test_info_command.py
+++ b/airflow-core/tests/unit/cli/commands/test_info_command.py
@@ -23,7 +23,6 @@ from unittest import mock
import httpx
import pytest
-from rich.console import Console
from airflow.cli import cli_parser
from airflow.cli.commands import info_command
@@ -34,13 +33,6 @@ from airflow.version import version as airflow_version
from tests_common.test_utils.config import conf_vars
-def capture_show_output(instance):
- console = Console()
- with console.capture() as capture:
- instance.info(console)
- return capture.get()
-
-
class TestPiiAnonymizer:
def setup_method(self) -> None:
self.instance = info_command.PiiAnonymizer()
diff --git a/airflow-core/tests/unit/cli/commands/test_task_command.py
b/airflow-core/tests/unit/cli/commands/test_task_command.py
index f39a8409bc2..b9747b9412e 100644
--- a/airflow-core/tests/unit/cli/commands/test_task_command.py
+++ b/airflow-core/tests/unit/cli/commands/test_task_command.py
@@ -22,9 +22,8 @@ import io
import json
import logging
import os
-import shutil
from argparse import ArgumentParser
-from contextlib import contextmanager, redirect_stdout
+from contextlib import redirect_stdout
from pathlib import Path
from typing import TYPE_CHECKING
from unittest import mock
@@ -45,7 +44,7 @@ from airflow.models.serialized_dag import SerializedDagModel
from airflow.providers.standard.operators.bash import BashOperator
from airflow.serialization.serialized_objects import DagSerialization,
LazyDeserializedDAG
from airflow.utils.session import create_session
-from airflow.utils.state import State, TaskInstanceState
+from airflow.utils.state import State
from airflow.utils.types import DagRunTriggeredByType, DagRunType
from tests_common.test_utils.config import conf_vars
@@ -70,13 +69,6 @@ def reset(dag_id):
session.execute(delete(SerializedDagModel).where(SerializedDagModel.dag_id ==
dag_id))
-@contextmanager
-def move_back(old_path, new_path):
- shutil.move(old_path, new_path)
- yield
- shutil.move(new_path, old_path)
-
-
class TestCliTasks:
run_id = "TEST_RUN_ID"
dag_id = "example_python_operator"
@@ -542,12 +534,6 @@ class TestCliTasks:
assert "# property: bash_command" in output.split("\n")
-def _set_state_and_try_num(ti, session):
- ti.state = TaskInstanceState.QUEUED
- ti.try_number += 1
- session.commit()
-
-
class TestLogsfromTaskRunCommand:
def setup_method(self) -> None:
self.dag_id = "test_logging_dag"
diff --git a/airflow-core/tests/unit/cli/conftest.py
b/airflow-core/tests/unit/cli/conftest.py
index 2967e48cd6c..cc3052c27ce 100644
--- a/airflow-core/tests/unit/cli/conftest.py
+++ b/airflow-core/tests/unit/cli/conftest.py
@@ -28,10 +28,8 @@ from airflow.providers.cncf.kubernetes.executors import
kubernetes_executor
from tests_common.test_utils.config import conf_vars
from tests_common.test_utils.stream_capture_manager import (
- CombinedCaptureManager,
StderrCaptureManager,
StdoutCaptureManager,
- StreamCaptureManager,
)
# Create custom executors here because conftest is imported first
@@ -82,21 +80,3 @@ def stderr_capture(request):
"""Fixture that captures stderr only."""
request.getfixturevalue("caplog")
return StderrCaptureManager()
-
-
[email protected]
-def stream_capture(request):
- """Fixture that returns a configurable stream capture manager."""
-
- def _capture(stdout=True, stderr=False):
- request.getfixturevalue("caplog")
- return StreamCaptureManager(capture_stdout=stdout,
capture_stderr=stderr)
-
- return _capture
-
-
[email protected]
-def combined_capture(request):
- """Fixture that captures both stdout and stderr."""
- request.getfixturevalue("caplog")
- return CombinedCaptureManager()
diff --git a/airflow-core/tests/unit/plugins/test_plugins_manager.py
b/airflow-core/tests/unit/plugins/test_plugins_manager.py
index 1163ac63386..9e0501be6e0 100644
--- a/airflow-core/tests/unit/plugins/test_plugins_manager.py
+++ b/airflow-core/tests/unit/plugins/test_plugins_manager.py
@@ -17,7 +17,6 @@
# under the License.
from __future__ import annotations
-import contextlib
import importlib
import inspect
import logging
@@ -56,21 +55,6 @@ def _clean_listeners():
get_listener_manager().clear()
[email protected]
-def mock_metadata_distribution(mocker):
- @contextlib.contextmanager
- def wrapper(*args, **kwargs):
- if sys.version_info < (3, 12):
- patch_fq = "importlib_metadata.distributions"
- else:
- patch_fq = "importlib.metadata.distributions"
-
- with mock.patch(patch_fq, *args, **kwargs) as m:
- yield m
-
- return wrapper
-
-
class TestPluginsManager:
@pytest.fixture(autouse=True)
def clean_plugins(self):
diff --git a/scripts/ci/prek/known_provide_session_positional.txt
b/scripts/ci/prek/known_provide_session_positional.txt
index f5ca5505fbf..5826418eb11 100644
--- a/scripts/ci/prek/known_provide_session_positional.txt
+++ b/scripts/ci/prek/known_provide_session_positional.txt
@@ -54,7 +54,7 @@
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_dag_run.py::1
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_dag_tags.py::1
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_dag_warning.py::1
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_event_logs.py::1
-airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_import_error.py::8
+airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_import_error.py::7
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_job.py::1
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_monitor.py::2
airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_pools.py::2