Skip to content

Commit b25d12f

Browse files
committed
remove unnecessary checks and increase coverage
1 parent 80da5ea commit b25d12f

File tree

2 files changed

+14
-19
lines changed

2 files changed

+14
-19
lines changed

aws_lambda_powertools/event_handler/api_gateway.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -830,15 +830,12 @@ def _openapi_operation_parameters(
830830
return parameters
831831

832832
@staticmethod
833-
def _is_pydantic_model_param(field_info: ModelField | Param) -> bool:
833+
def _is_pydantic_model_param(field_info: Param) -> bool:
834834
"""Check if the field info represents a Pydantic model parameter."""
835835
from pydantic import BaseModel
836836

837837
from aws_lambda_powertools.event_handler.openapi.compat import lenient_issubclass
838-
from aws_lambda_powertools.event_handler.openapi.params import Param
839838

840-
if not isinstance(field_info, Param):
841-
return False
842839
return lenient_issubclass(field_info.annotation, BaseModel)
843840

844841
@staticmethod
@@ -850,9 +847,6 @@ def _expand_pydantic_model_parameters(field_info: Param) -> list[dict[str, Any]]
850847
parameters: list[dict[str, Any]] = []
851848

852849
for field_name, field_def in model_class.model_fields.items():
853-
if not field_def.annotation:
854-
continue
855-
856850
param_name = field_def.alias or field_name
857851
individual_param = Route._create_pydantic_field_parameter(
858852
param_name=param_name,

tests/functional/event_handler/_pydantic/test_openapi_validation_middleware.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ def test_validate_pydantic_header_snake_case_to_kebab_case_schema(gw_event):
323323
class HeaderParams(BaseModel):
324324
correlation_id: str = Field(description="Correlation ID header")
325325
user_agent: str = Field(default="PowerTools/1.0", description="User agent header")
326+
accept: str = Field(default="application/json") # omit description to test optional description
326327

327328
@app.get("/kebab-headers")
328329
def kebab_handler(my_headers: Annotated[HeaderParams, Header()]):
@@ -1124,8 +1125,8 @@ def handler2(header2: Annotated[List[int], Header()], header1: Annotated[str, He
11241125

11251126
@app.get("/users")
11261127
def handler3(
1127-
header2: Annotated[List[str], Header(name="Header2")],
1128-
header1: Annotated[str, Header(name="Header1")],
1128+
header2: Annotated[List[str], Header(alias="Header2")],
1129+
header1: Annotated[str, Header(alias="Header1")],
11291130
):
11301131
print(header2)
11311132

@@ -1190,8 +1191,8 @@ def handler2(header2: Annotated[List[int], Header()], header1: Annotated[str, He
11901191

11911192
@app.get("/users")
11921193
def handler3(
1193-
header2: Annotated[List[str], Header(name="Header2")],
1194-
header1: Annotated[str, Header(name="Header1")],
1194+
header2: Annotated[List[str], Header(alias="Header2")],
1195+
header1: Annotated[str, Header(alias="Header1")],
11951196
):
11961197
print(header2)
11971198

@@ -1253,8 +1254,8 @@ def handler2(header2: Annotated[List[int], Header()], header1: Annotated[str, He
12531254

12541255
@app.get("/users")
12551256
def handler3(
1256-
header2: Annotated[List[str], Header(name="Header2")],
1257-
header1: Annotated[str, Header(name="Header1")],
1257+
header2: Annotated[List[str], Header(alias="Header2")],
1258+
header1: Annotated[str, Header(alias="Header1")],
12581259
):
12591260
print(header2)
12601261

@@ -1318,8 +1319,8 @@ def handler2(header2: Annotated[List[int], Header()], header1: Annotated[str, He
13181319

13191320
@app.get("/users")
13201321
def handler3(
1321-
header2: Annotated[List[str], Header(name="Header2")],
1322-
header1: Annotated[str, Header(name="Header1")],
1322+
header2: Annotated[List[str], Header(alias="Header2")],
1323+
header1: Annotated[str, Header(alias="Header1")],
13231324
):
13241325
print(header2)
13251326

@@ -1382,8 +1383,8 @@ def handler2(header2: Annotated[List[int], Header()], header1: Annotated[str, He
13821383

13831384
@app.get("/users")
13841385
def handler3(
1385-
header2: Annotated[List[str], Header(name="Header2")],
1386-
header1: Annotated[str, Header(name="Header1")],
1386+
header2: Annotated[List[str], Header(alias="Header2")],
1387+
header1: Annotated[str, Header(alias="Header1")],
13871388
):
13881389
print(header2)
13891390

@@ -1446,8 +1447,8 @@ def handler1(header2: Annotated[List[int], Header()], header1: Annotated[str, He
14461447

14471448
@app.get("/users")
14481449
def handler3(
1449-
header2: Annotated[List[str], Header(name="Header2")],
1450-
header1: Annotated[str, Header(name="Header1")],
1450+
header2: Annotated[List[str], Header(alias="Header2")],
1451+
header1: Annotated[str, Header(alias="Header1")],
14511452
):
14521453
print(header2)
14531454

0 commit comments

Comments
 (0)