This is an automated email from the ASF dual-hosted git repository.

vincbeck 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 af2c3efed7b Remove unused FAB test log assertion helpers (#75876)
af2c3efed7b is described below

commit af2c3efed7b422cb0fd08412e234a5042d289d8d
Author: Hussein Awala <[email protected]>
AuthorDate: Wed Oct 28 20:58:51 2026 +0100

    Remove unused FAB test log assertion helpers (#75876)
    
    The FAB log assertion helpers have no callers; active view tests import 
only the retained login and content helpers.
---
 providers/fab/tests/unit/fab/utils.py | 109 ----------------------------------
 1 file changed, 109 deletions(-)

diff --git a/providers/fab/tests/unit/fab/utils.py 
b/providers/fab/tests/unit/fab/utils.py
index ad8f9791a6b..ec7835a7922 100644
--- a/providers/fab/tests/unit/fab/utils.py
+++ b/providers/fab/tests/unit/fab/utils.py
@@ -16,8 +16,6 @@
 # under the License.
 from __future__ import annotations
 
-import ast
-import json
 from collections.abc import Generator
 from contextlib import contextmanager
 from typing import TYPE_CHECKING, Any, NamedTuple
@@ -25,16 +23,6 @@ from unittest import mock
 
 import flask
 import pytest
-from sqlalchemy import delete, select
-
-from airflow.models import Log
-
-try:
-    from airflow.sdk._shared.secrets_masker import DEFAULT_SENSITIVE_FIELDS
-except ImportError:
-    from airflow.sdk.execution_time.secrets_masker import 
DEFAULT_SENSITIVE_FIELDS  # type:ignore[no-redef]
-
-sensitive_fields = DEFAULT_SENSITIVE_FIELDS
 
 if TYPE_CHECKING:
     import jinja2
@@ -84,103 +72,6 @@ def check_content_not_in_response(text, resp, 
resp_code=200):
         assert text not in resp_html
 
 
-def _masked_value_check(data, sensitive_fields):
-    """
-    Recursively check if sensitive fields are properly masked.
-
-    :param data: JSON object (dict, list, or value)
-    :param sensitive_fields: Set of sensitive field names
-    """
-    if isinstance(data, dict):
-        for key, value in data.items():
-            if key in sensitive_fields:
-                assert value == "***", f"Expected masked value for {key}, but 
got {value}"
-            else:
-                _masked_value_check(value, sensitive_fields)
-    elif isinstance(data, list):
-        for item in data:
-            _masked_value_check(item, sensitive_fields)
-
-
-def _check_last_log(session, dag_id, event, logical_date, expected_extra=None, 
check_masked=False):
-    logs = session.execute(
-        select(
-            Log.dag_id,
-            Log.task_id,
-            Log.event,
-            Log.logical_date,
-            Log.owner,
-            Log.extra,
-        )
-        .filter(
-            Log.dag_id == dag_id,
-            Log.event == event,
-            Log.logical_date == logical_date,
-        )
-        .order_by(Log.dttm.desc())
-        .limit(5)
-    ).all()
-    assert len(logs) >= 1
-    assert logs[0].extra
-    if expected_extra:
-        assert json.loads(logs[0].extra) == expected_extra
-    if check_masked:
-        extra_json = json.loads(logs[0].extra)
-        _masked_value_check(extra_json, sensitive_fields)
-
-    session.execute(delete(Log))
-
-
-def _check_last_log_masked_connection(session, dag_id, event, logical_date):
-    logs = session.execute(
-        select(Log.dag_id, Log.task_id, Log.event, Log.logical_date, 
Log.owner, Log.extra)
-        .where(Log.dag_id == dag_id, Log.event == event, Log.logical_date == 
logical_date)
-        .order_by(Log.dttm.desc())
-        .limit(5)
-    ).all()
-
-    assert len(logs) >= 1
-    extra = ast.literal_eval(logs[0].extra)
-    assert extra == {
-        "conn_id": "test_conn",
-        "conn_type": "http",
-        "description": "description",
-        "host": "localhost",
-        "port": "8080",
-        "username": "root",
-        "password": "***",
-        "extra": {"x_secret": "***", "y_secret": "***"},
-    }
-
-
-def _check_last_log_masked_variable(
-    session,
-    dag_id,
-    event,
-    logical_date,
-):
-    logs = session.execute(
-        select(
-            Log.dag_id,
-            Log.task_id,
-            Log.event,
-            Log.logical_date,
-            Log.owner,
-            Log.extra,
-        )
-        .where(
-            Log.dag_id == dag_id,
-            Log.event == event,
-            Log.logical_date == logical_date,
-        )
-        .order_by(Log.dttm.desc())
-        .limit(5)
-    ).all()
-    assert len(logs) >= 1
-    extra_dict = ast.literal_eval(logs[0].extra)
-    assert extra_dict == {"key": "x_secret", "val": "***"}
-
-
 class _TemplateWithContext(NamedTuple):
     template: jinja2.environment.Template
     context: dict[str, Any]

Reply via email to