Skip to content

Commit 6f2ef68

Browse files
committed
Remove Cadwyn version change
1 parent 71766cd commit 6f2ef68

4 files changed

Lines changed: 16 additions & 16 deletions

File tree

airflow-core/src/airflow/api_fastapi/execution_api/security.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
# Disable future annotations in this file to work around https://github.com/fastapi/fastapi/issues/13056
6868
# ruff: noqa: I002
6969

70-
from typing import Any, Literal, get_args
70+
from typing import Any, get_args
7171

7272
import structlog
7373
from fastapi import Depends, HTTPException, Request, status
@@ -79,14 +79,12 @@
7979

8080
from airflow.api_fastapi.auth.tokens import JWTValidator
8181
from airflow.api_fastapi.common.db.common import AsyncSessionDep
82-
from airflow.api_fastapi.execution_api.datamodels.token import TIClaims, TIToken
82+
from airflow.api_fastapi.execution_api.datamodels.token import TIClaims, TIToken, TokenScope
8383
from airflow.api_fastapi.execution_api.deps import DepContainer
8484

8585
log = structlog.get_logger(logger_name=__name__)
8686

87-
TokenType = Literal["execution", "workload"]
88-
89-
VALID_TOKEN_TYPES: frozenset[str] = frozenset(get_args(TokenType))
87+
VALID_TOKEN_TYPES: frozenset[str] = frozenset(get_args(TokenScope))
9088

9189
_REQUEST_SCOPE_TOKEN_KEY = "ti_token"
9290

airflow-core/src/airflow/api_fastapi/execution_api/versions/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
MakeDagRunStartDateNullable,
3939
ModifyDeferredTaskKwargsToJsonValue,
4040
RemoveUpstreamMapIndexesField,
41-
ValidateTaskIdentityTokenClaims,
4241
)
4342

4443
bundle = VersionBundle(
@@ -49,7 +48,6 @@
4948
ModifyDeferredTaskKwargsToJsonValue,
5049
RemoveUpstreamMapIndexesField,
5150
AddNoteField,
52-
ValidateTaskIdentityTokenClaims,
5351
),
5452
Version("2025-12-08", MovePreviousRunEndpoint, AddDagRunDetailEndpoint),
5553
Version("2025-11-07", AddPartitionKeyField),

airflow-core/src/airflow/api_fastapi/execution_api/versions/v2026_03_31.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,6 @@
2727
TIDeferredStatePayload,
2828
TIRunContext,
2929
)
30-
from airflow.api_fastapi.execution_api.datamodels.token import TIToken
31-
32-
33-
class ValidateTaskIdentityTokenClaims(VersionChange):
34-
"""Validate TIToken claims with a typed claims model instead of a raw dict."""
35-
36-
description = __doc__
37-
38-
instructions_to_migrate_to_previous_version = (schema(TIToken).field("claims").had(type=dict[str, Any]),)
3930

4031

4132
class ModifyDeferredTaskKwargsToJsonValue(VersionChange):

airflow-core/tests/unit/api_fastapi/execution_api/test_security.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import pytest
2222
from fastapi import APIRouter, FastAPI, Request, Security
2323
from fastapi.testclient import TestClient
24+
from pydantic import ValidationError
2425

2526
from airflow.api_fastapi.execution_api.datamodels.token import TIClaims, TIToken, TokenScope
2627
from airflow.api_fastapi.execution_api.security import ExecutionAPIRoute, _jwt_bearer, require_auth
@@ -33,6 +34,18 @@ def test_defaults_scope_and_retains_extra(self):
3334
assert claims.scope == "execution"
3435
assert claims.team == "data"
3536

37+
def test_rejects_invalid_uuid(self):
38+
with pytest.raises(ValidationError) as err:
39+
TIClaims(sub="not-a-uuid", exp=0, iat=0, nbf=0)
40+
41+
assert "UUID" in str(err.value)
42+
43+
def test_rejects_missing_required_claims(self):
44+
with pytest.raises(ValidationError) as err:
45+
TIClaims(sub=UUID(int=1), iat=0, nbf=0)
46+
47+
assert "exp" in str(err.value)
48+
3649

3750
class TestExecutionAPIRoute:
3851
"""Unit tests for ExecutionAPIRoute precomputing allowed_token_types from Security scopes."""

0 commit comments

Comments
 (0)