def test_alb_event():
    event = ALBEvent(load_event("albEvent.json"))
    assert event.request_context.elb_target_group_arn == event["requestContext"]["elb"]["targetGroupArn"]
    assert event.http_method == event["httpMethod"]
    assert event.path == event["path"]
    assert event.query_string_parameters == event["queryStringParameters"]
    assert event.headers == event["headers"]
    assert event.multi_value_query_string_parameters == event.get("multiValueQueryStringParameters")
    assert event.multi_value_headers == event.get("multiValueHeaders")
    assert event.body == event["body"]
    assert event.is_base64_encoded == event["isBase64Encoded"]
 def _to_proxy_event(self, event: Dict) -> BaseProxyEvent:
     """Convert the event dict to the corresponding data class"""
     if self._proxy_type == ProxyEventType.APIGatewayProxyEvent:
         logger.debug("Converting event to API Gateway REST API contract")
         return APIGatewayProxyEvent(event)
     if self._proxy_type == ProxyEventType.APIGatewayProxyEventV2:
         logger.debug("Converting event to API Gateway HTTP API contract")
         return APIGatewayProxyEventV2(event)
     logger.debug("Converting event to ALB contract")
     return ALBEvent(event)