From 5565461bbb88467aac6ae3690aac3254d2cf927c Mon Sep 17 00:00:00 2001 From: Adarsh Bennur Date: Fri, 19 Dec 2025 19:35:32 +0530 Subject: [PATCH] Fix: Make test compatible with Pydantic v1 and v2 Add version check to skip test_forms_fields_set.py when Pydantic v1 is installed, since field_validator is a v2-only API. --- tests/test_forms_fields_set.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/test_forms_fields_set.py b/tests/test_forms_fields_set.py index 28ef5402db..3ddc9cd63a 100644 --- a/tests/test_forms_fields_set.py +++ b/tests/test_forms_fields_set.py @@ -5,6 +5,22 @@ Related to issue #13399: https://github.com/fastapi/fastapi/issues/13399 from typing import Annotated +import pytest + +# Skip this entire module if Pydantic v1 is installed +# field_validator is a Pydantic v2-only API +try: + from pydantic import __version__ as pydantic_version + + pydantic_major = int(pydantic_version.split(".")[0]) + if pydantic_major < 2: + pytest.skip( + "This test module requires Pydantic v2 (uses field_validator)", + allow_module_level=True, + ) +except Exception: + pass + from fastapi import FastAPI, Form from fastapi.testclient import TestClient from pydantic import BaseModel, field_validator