Skip to content

Commit 064ef4e

Browse files
Adding subscribe test
1 parent 19248f8 commit 064ef4e

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

tests/functional/event_handler/required_dependencies/appsync/test_appsync_events_resolvers.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1511,3 +1511,62 @@ def test_handler(payload):
15111511
],
15121512
}
15131513
assert result2 == expected_result2
1514+
1515+
1516+
def test_subscribe_event_with_error_handling(lambda_context, mock_event):
1517+
"""Test error handling during publish event processing."""
1518+
# GIVEN a sample publish event
1519+
mock_event["info"]["operation"] = "SUBSCRIBE"
1520+
del mock_event["events"] # SUBSCRIBE events are not supported
1521+
1522+
# GIVEN an AppSyncEventsResolver with a resolver that raises an exception
1523+
app = AppSyncEventsResolver()
1524+
1525+
@app.on_subscribe(path="/default/*")
1526+
def test_handler():
1527+
raise ValueError("Test error")
1528+
1529+
# WHEN we resolve the event
1530+
result = app.resolve(mock_event, lambda_context)
1531+
1532+
# THEN we should get an error response
1533+
assert "error" in result
1534+
assert "ValueError - Test error" in result["error"]
1535+
1536+
def test_subscribe_event_with_valid_return(lambda_context, mock_event):
1537+
"""Test error handling during publish event processing."""
1538+
# GIVEN a sample publish event
1539+
mock_event["info"]["operation"] = "SUBSCRIBE"
1540+
del mock_event["events"] # SUBSCRIBE events are not supported
1541+
1542+
# GIVEN an AppSyncEventsResolver with a resolver that returns ok
1543+
app = AppSyncEventsResolver()
1544+
1545+
@app.on_publish(path="/default/*")
1546+
def test_handler():
1547+
return 1
1548+
1549+
# WHEN we resolve the event
1550+
result = app.resolve(mock_event, lambda_context)
1551+
1552+
# THEN we should get an error response
1553+
assert result == 1
1554+
1555+
def test_subscribe_event_with_no_resolver(lambda_context, mock_event):
1556+
"""Test error handling during publish event processing."""
1557+
# GIVEN a sample publish event
1558+
mock_event["info"]["operation"] = "SUBSCRIBE"
1559+
del mock_event["events"] # SUBSCRIBE events are not supported
1560+
1561+
# GIVEN an AppSyncEventsResolver with a resolver that returns ok
1562+
app = AppSyncEventsResolver()
1563+
1564+
@app.on_subscribe(path="/test")
1565+
def test_handler():
1566+
return 1
1567+
1568+
# WHEN we resolve the event
1569+
result = app.resolve(mock_event, lambda_context)
1570+
1571+
# THEN we should get an error response
1572+
assert not result

0 commit comments

Comments
 (0)