Skip to content

Commit 684b651

Browse files
author
Ana Falcao
committed
revert from the original file
1 parent 64afb36 commit 684b651

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

aws_lambda_powertools/utilities/parser/parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,4 @@ def handler(event: Order, context: LambdaContext):
202202
f"Error: {str(exc)}. Please ensure the Input model inherits from BaseModel,\n"
203203
"and your payload adheres to the specified Input model structure.\n"
204204
f"Model={model}",
205-
)
205+
) from exc

tests/functional/parser/test_parser.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import pydantic
66
import pytest
7+
from typing_extensions import Annotated
78
from pydantic import ValidationError, BaseModel
89

910
from aws_lambda_powertools.utilities.parser import event_parser, exceptions, parse
@@ -251,19 +252,18 @@ class SuccessfulCallback(pydantic.BaseModel):
251252
class FailedCallback(pydantic.BaseModel):
252253
status: Literal["failed"]
253254
error: str
255+
256+
DogCallback = Annotated[Union[SuccessfulCallback, FailedCallback], pydantic.Field(discriminator="status")]
257+
DogCallbackTypeAdapter = pydantic.TypeAdapter(DogCallback)
254258

255-
class DogCallbackModel(pydantic.BaseModel):
256-
data: Union[SuccessfulCallback, FailedCallback] = pydantic.Field(discriminator="status")
257-
258-
@event_parser(model=DogCallbackModel)
259+
@event_parser(model=DogCallbackTypeAdapter)
259260
def handler(event, _: Any) -> str:
260-
if isinstance(event.data, FailedCallback):
261-
return f"Uh oh. Had a problem: {event.data.error}"
261+
if isinstance(event, FailedCallback):
262+
return f"Uh oh. Had a problem: {event.error}"
262263

263-
return f"Successfully retrieved {event.data.breed} named {event.data.name}"
264+
return f"Successfully retrieved {event.breed} named {event.name}"
264265

265-
wrapped_input = {"data": test_input}
266-
ret = handler(wrapped_input, None)
266+
ret = handler(test_input, None)
267267
assert ret == expected
268268

269269

0 commit comments

Comments
 (0)