Skip to content

Commit 88726a4

Browse files
author
Michael Brewer
committed
test(data-classes): add missing test
1 parent 6e12e30 commit 88726a4

File tree

1 file changed

+35
-21
lines changed

1 file changed

+35
-21
lines changed

tests/functional/event_handler/test_api_gateway.py

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
ApiGatewayResolver,
1111
BadRequestError,
1212
CORSConfig,
13+
InternalServerError,
1314
NotFoundError,
1415
ProxyEventType,
1516
Response,
@@ -501,6 +502,14 @@ def test_service_error_response():
501502
# GIVEN a service error response
502503
app = ApiGatewayResolver(cors=CORSConfig())
503504

505+
@app.route(method="GET", rule="/bad-request-error", cors=False)
506+
def bad_request_error():
507+
raise BadRequestError("Missing required parameter")
508+
509+
@app.route(method="GET", rule="/unauthorized-error", cors=False)
510+
def unauthorized_error():
511+
raise UnauthorizedError("Unauthorized")
512+
504513
@app.route(method="GET", rule="/service-error", cors=True)
505514
def service_error():
506515
raise ServiceError(403, "Unauthorized")
@@ -509,13 +518,27 @@ def service_error():
509518
def not_found_error():
510519
raise NotFoundError
511520

512-
@app.route(method="GET", rule="/bad-request-error", cors=False)
513-
def bad_request_error():
514-
raise BadRequestError("Missing required parameter")
521+
@app.route(method="GET", rule="/internal-server-error", cors=False)
522+
def internal_server_error():
523+
raise InternalServerError("Internal server error")
515524

516-
@app.route(method="GET", rule="/unauthorized-error", cors=False)
517-
def unauthorized_error():
518-
raise UnauthorizedError("Unauthorized")
525+
# WHEN calling the handler
526+
# AND path is /bad-request-error
527+
result = app({"path": "/bad-request-error", "httpMethod": "GET"}, None)
528+
# THEN return the bad request error response
529+
# AND status code equals 400
530+
assert result["statusCode"] == 400
531+
assert result["body"] == json.dumps({"message": "Missing required parameter"})
532+
assert result["headers"]["Content-Type"] == APPLICATION_JSON
533+
534+
# WHEN calling the handler
535+
# AND path is /unauthorized-error
536+
result = app({"path": "/unauthorized-error", "httpMethod": "GET"}, None)
537+
# THEN return the unauthorized error response
538+
# AND status code equals 401
539+
assert result["statusCode"] == 401
540+
assert result["body"] == json.dumps({"message": "Unauthorized"})
541+
assert result["headers"]["Content-Type"] == APPLICATION_JSON
519542

520543
# WHEN calling the handler
521544
# AND path is /service-error
@@ -537,19 +560,10 @@ def unauthorized_error():
537560
assert result["headers"]["Content-Type"] == APPLICATION_JSON
538561

539562
# WHEN calling the handler
540-
# AND path is /bad-request-error
541-
result = app({"path": "/bad-request-error", "httpMethod": "GET"}, None)
542-
# THEN return the bad request error response
543-
# AND status code equals 400
544-
assert result["statusCode"] == 400
545-
assert result["body"] == json.dumps({"message": "Missing required parameter"})
546-
assert result["headers"]["Content-Type"] == APPLICATION_JSON
547-
548-
# WHEN calling the handler
549-
# AND path is /unauthorized-error
550-
result = app({"path": "/unauthorized-error", "httpMethod": "GET"}, None)
551-
# THEN return the unauthorized error response
552-
# AND status code equals 401
553-
assert result["statusCode"] == 401
554-
assert result["body"] == json.dumps({"message": "Unauthorized"})
563+
# AND path is /internal-server-error
564+
result = app({"path": "/internal-server-error", "httpMethod": "GET"}, None)
565+
# THEN return the internal server error response
566+
# AND status code equals 500
567+
assert result["statusCode"] == 500
568+
assert result["body"] == json.dumps({"message": "Internal server error"})
555569
assert result["headers"]["Content-Type"] == APPLICATION_JSON

0 commit comments

Comments
 (0)