Skip to content

Commit a805ac3

Browse files
author
Cavalcante Damascena
committed
Removing payload exception
1 parent f213510 commit a805ac3

File tree

4 files changed

+6
-62
lines changed

4 files changed

+6
-62
lines changed

aws_lambda_powertools/event_handler/appsync.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import warnings
44
from typing import Any, Callable, Dict, List, Optional, Type, Union
55

6-
from aws_lambda_powertools.event_handler.exceptions_appsync import InconsistentPayloadError, ResolverNotFoundError
6+
from aws_lambda_powertools.event_handler.graphql_appsync.exceptions import ResolverNotFoundError
77
from aws_lambda_powertools.event_handler.graphql_appsync.router import Router
88
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
99
from aws_lambda_powertools.utilities.typing import LambdaContext
@@ -269,13 +269,6 @@ def _call_batch_resolver(self, event: List[dict], data_model: Type[AppSyncResolv
269269
"""
270270
logger.debug("Processing batch resolver event")
271271

272-
# All events in the batch must have the same fieldName
273-
field_names = {field_name["info"]["fieldName"] for field_name in event}
274-
if len(field_names) > 1:
275-
raise InconsistentPayloadError(
276-
f"All events in the batch must have the same fieldName. Found: {field_names}",
277-
)
278-
279272
self.current_batch_event = [data_model(e) for e in event]
280273
type_name, field_name = self.current_batch_event[0].type_name, self.current_batch_event[0].field_name
281274

aws_lambda_powertools/event_handler/exceptions_appsync.py

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
class ResolverNotFoundError(Exception):
2+
"""
3+
When a resolver is not found during a lookup.
4+
"""

tests/functional/event_handler/test_appsync.py

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import pytest
55

66
from aws_lambda_powertools.event_handler import AppSyncResolver
7-
from aws_lambda_powertools.event_handler.exceptions_appsync import InconsistentPayloadError, ResolverNotFoundError
7+
from aws_lambda_powertools.event_handler.graphql_appsync.exceptions import ResolverNotFoundError
88
from aws_lambda_powertools.event_handler.graphql_appsync.router import Router
99
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
1010
from aws_lambda_powertools.utilities.typing import LambdaContext
@@ -568,49 +568,6 @@ async def create_something(event: AppSyncResolverEvent) -> Optional[list]: # no
568568
assert not app.current_event
569569

570570

571-
def test_resolver_batch_resolver_many_fields_with_different_name():
572-
# GIVEN
573-
app = AppSyncResolver()
574-
router = Router()
575-
576-
@router.batch_resolver(type_name="Query", field_name="listLocations")
577-
def get_locations(event: AppSyncResolverEvent, name: str) -> str:
578-
return "get_locations#" + name + "#" + event.source["id"]
579-
580-
app.include_router(router)
581-
582-
# WHEN
583-
mock_event1 = [
584-
{
585-
"typeName": "Query",
586-
"info": {
587-
"fieldName": "listLocations",
588-
"parentTypeName": "Query",
589-
},
590-
"fieldName": "listLocations",
591-
"arguments": {"name": "value"},
592-
"source": {
593-
"id": "1",
594-
},
595-
},
596-
{
597-
"typeName": "Query",
598-
"info": {
599-
"fieldName": "listLocationsDifferent",
600-
"parentTypeName": "Query",
601-
},
602-
"fieldName": "listLocations",
603-
"arguments": {"name": "value"},
604-
"source": {
605-
"id": "1",
606-
},
607-
},
608-
]
609-
610-
with pytest.raises(InconsistentPayloadError):
611-
app.resolve(mock_event1, LambdaContext())
612-
613-
614571
def test_resolver_batch_with_resolver_not_found():
615572
# GIVEN a AppSyncResolver
616573
app = AppSyncResolver()

0 commit comments

Comments
 (0)