From 92b25fbf6d0979586f9048fb2a1b79cb9556829d Mon Sep 17 00:00:00 2001 From: nialdaly Date: Fri, 17 Jun 2022 00:40:08 +0100 Subject: [PATCH 1/6] initial logic for supporting the FailOnWarnings property --- samtranslator/model/api/api_generator.py | 5 +++++ samtranslator/model/api/http_api_generator.py | 2 +- samtranslator/model/sam_resources.py | 2 ++ samtranslator/validator/sam_schema/definitions/api.json | 6 ++++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/samtranslator/model/api/api_generator.py b/samtranslator/model/api/api_generator.py index 92b6b9fb6d..4331510cbd 100644 --- a/samtranslator/model/api/api_generator.py +++ b/samtranslator/model/api/api_generator.py @@ -181,6 +181,7 @@ def __init__( open_api_version=None, models=None, domain=None, + fail_on_warnings=None, description=None, mode=None, api_key_source_type=None, @@ -232,6 +233,7 @@ def __init__( self.remove_extra_stage = open_api_version self.models = models self.domain = domain + self.fail_on_warnings = fail_on_warnings self.description = description self.shared_api_usage_plan = shared_api_usage_plan self.template_conditions = template_conditions @@ -277,6 +279,9 @@ def _construct_rest_api(self): self._add_binary_media_types() self._add_models() + if self.fail_on_warnings: + rest_api.FailOnWarnings = self.fail_on_warnings + if self.disable_execute_api_endpoint is not None: self._add_endpoint_extension() diff --git a/samtranslator/model/api/http_api_generator.py b/samtranslator/model/api/http_api_generator.py index 869dddec46..ce45f5f43f 100644 --- a/samtranslator/model/api/http_api_generator.py +++ b/samtranslator/model/api/http_api_generator.py @@ -48,7 +48,7 @@ def __init__( resource_attributes=None, passthrough_resource_attributes=None, domain=None, - fail_on_warnings=False, + fail_on_warnings=None, description=None, disable_execute_api_endpoint=None, ): diff --git a/samtranslator/model/sam_resources.py b/samtranslator/model/sam_resources.py index d098c23d39..89bcc57013 100644 --- a/samtranslator/model/sam_resources.py +++ b/samtranslator/model/sam_resources.py @@ -1073,6 +1073,7 @@ class SamApi(SamResourceMacro): "OpenApiVersion": PropertyType(False, is_str()), "Models": PropertyType(False, is_type(dict)), "Domain": PropertyType(False, is_type(dict)), + "FailOnWarnings": PropertyType(False, is_type(bool)), "Description": PropertyType(False, is_str()), "Mode": PropertyType(False, is_str()), "DisableExecuteApiEndpoint": PropertyType(False, is_type(bool)), @@ -1136,6 +1137,7 @@ def to_cloudformation(self, **kwargs): open_api_version=self.OpenApiVersion, models=self.Models, domain=self.Domain, + fail_on_warnings=self.FailOnWarnings, description=self.Description, mode=self.Mode, api_key_source_type=self.ApiKeySourceType, diff --git a/samtranslator/validator/sam_schema/definitions/api.json b/samtranslator/validator/sam_schema/definitions/api.json index 10028d888f..ba1da15848 100644 --- a/samtranslator/validator/sam_schema/definitions/api.json +++ b/samtranslator/validator/sam_schema/definitions/api.json @@ -117,6 +117,12 @@ "EndpointConfiguration": { "$ref": "#definitions/AWS::Serverless::Api.EndpointConfiguration" }, + "FailOnWarnings": { + "type": [ + "boolean", + "intrinsic" + ] + }, "GatewayResponses": { "$ref": "common.json#definitions/GatewayResponses", "references": [ From ec1dcd0babca739eb9b88f472008b2178f356936 Mon Sep 17 00:00:00 2001 From: nialdaly Date: Tue, 21 Jun 2022 23:32:45 +0100 Subject: [PATCH 2/6] initial unit tests added --- .../input/api_with_fail_on_warnings.yaml | 22 +++ .../error_api_invalid_fail_on_warnings.yaml | 22 +++ .../output/api_with_fail_on_warnings.json | 128 +++++++++++++++++ .../aws-cn/api_with_fail_on_warnings.json | 136 ++++++++++++++++++ .../aws-us-gov/api_with_fail_on_warnings.json | 136 ++++++++++++++++++ .../error_api_invalid_fail_on_warnings.json | 8 ++ tests/translator/test_translator.py | 1 + 7 files changed, 453 insertions(+) create mode 100644 tests/translator/input/api_with_fail_on_warnings.yaml create mode 100644 tests/translator/input/error_api_invalid_fail_on_warnings.yaml create mode 100644 tests/translator/output/api_with_fail_on_warnings.json create mode 100644 tests/translator/output/aws-cn/api_with_fail_on_warnings.json create mode 100644 tests/translator/output/aws-us-gov/api_with_fail_on_warnings.json create mode 100644 tests/translator/output/error_api_invalid_fail_on_warnings.json diff --git a/tests/translator/input/api_with_fail_on_warnings.yaml b/tests/translator/input/api_with_fail_on_warnings.yaml new file mode 100644 index 0000000000..354eeaf761 --- /dev/null +++ b/tests/translator/input/api_with_fail_on_warnings.yaml @@ -0,0 +1,22 @@ +Resources: + ApiGatewayApi: + Type: AWS::Serverless::Api + Properties: + StageName: prod + FailOnWarnings: true + ApiFunction: # Adds a GET api endpoint at "/" to the ApiGatewayApi via an Api event + Type: AWS::Serverless::Function + Properties: + Events: + ApiEvent: + Type: Api + Properties: + Path: / + Method: get + RestApiId: + Ref: ApiGatewayApi + Runtime: python3.7 + Handler: index.handler + InlineCode: | + def handler(event, context): + return {'body': 'Hello World!', 'statusCode': 200} diff --git a/tests/translator/input/error_api_invalid_fail_on_warnings.yaml b/tests/translator/input/error_api_invalid_fail_on_warnings.yaml new file mode 100644 index 0000000000..c530ffd4cc --- /dev/null +++ b/tests/translator/input/error_api_invalid_fail_on_warnings.yaml @@ -0,0 +1,22 @@ +Resources: + ApiGatewayApi: + Type: AWS::Serverless::Api + Properties: + StageName: prod + FailOnWarnings: '' + ApiFunction: # Adds a GET api endpoint at "/" to the ApiGatewayApi via an Api event + Type: AWS::Serverless::Function + Properties: + Events: + ApiEvent: + Type: Api + Properties: + Path: / + Method: get + RestApiId: + Ref: ApiGatewayApi + Runtime: python3.7 + Handler: index.handler + InlineCode: | + def handler(event, context): + return {'body': 'Hello World!', 'statusCode': 200} diff --git a/tests/translator/output/api_with_fail_on_warnings.json b/tests/translator/output/api_with_fail_on_warnings.json new file mode 100644 index 0000000000..6764a40802 --- /dev/null +++ b/tests/translator/output/api_with_fail_on_warnings.json @@ -0,0 +1,128 @@ +{ + "Resources": { + "ApiGatewayApi": { + "Type": "AWS::ApiGateway::RestApi", + "Properties": { + "Body": { + "info": { + "version": "1.0", + "title": { + "Ref": "AWS::StackName" + } + }, + "paths": { + "/": { + "get": { + "x-amazon-apigateway-integration": { + "httpMethod": "POST", + "type": "aws_proxy", + "uri": { + "Fn::Sub": "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${ApiFunction.Arn}/invocations" + } + }, + "responses": {} + } + } + }, + "swagger": "2.0" + }, + "FailOnWarnings": true + } + }, + "ApiGatewayApiDeploymentf96bc9abda": { + "Type": "AWS::ApiGateway::Deployment", + "Properties": { + "RestApiId": { + "Ref": "ApiGatewayApi" + }, + "Description": "RestApi deployment id: f96bc9abdad53c001153ce8ba04f1667c7b0a004", + "StageName": "Stage" + } + }, + "ApiFunctionRole": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ] + }, + "ManagedPolicyArns": [ + "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ], + "Tags": [ + { + "Value": "SAM", + "Key": "lambda:createdBy" + } + ] + } + }, + "ApiFunction": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Handler": "index.handler", + "Code": { + "ZipFile": "def handler(event, context):\n return {'body': 'Hello World!', 'statusCode': 200}\n" + }, + "Role": { + "Fn::GetAtt": [ + "ApiFunctionRole", + "Arn" + ] + }, + "Runtime": "python3.7", + "Tags": [ + { + "Value": "SAM", + "Key": "lambda:createdBy" + } + ] + } + }, + "ApiFunctionApiEventPermissionprod": { + "Type": "AWS::Lambda::Permission", + "Properties": { + "Action": "lambda:InvokeFunction", + "Principal": "apigateway.amazonaws.com", + "FunctionName": { + "Ref": "ApiFunction" + }, + "SourceArn": { + "Fn::Sub": [ + "arn:aws:execute-api:${AWS::Region}:${AWS::AccountId}:${__ApiId__}/${__Stage__}/GET/", + { + "__Stage__": "*", + "__ApiId__": { + "Ref": "ApiGatewayApi" + } + } + ] + } + } + }, + "ApiGatewayApiprodStage": { + "Type": "AWS::ApiGateway::Stage", + "Properties": { + "DeploymentId": { + "Ref": "ApiGatewayApiDeploymentf96bc9abda" + }, + "RestApiId": { + "Ref": "ApiGatewayApi" + }, + "StageName": "prod" + } + } + } +} \ No newline at end of file diff --git a/tests/translator/output/aws-cn/api_with_fail_on_warnings.json b/tests/translator/output/aws-cn/api_with_fail_on_warnings.json new file mode 100644 index 0000000000..97c968816a --- /dev/null +++ b/tests/translator/output/aws-cn/api_with_fail_on_warnings.json @@ -0,0 +1,136 @@ +{ + "Resources": { + "ApiGatewayApi": { + "Type": "AWS::ApiGateway::RestApi", + "Properties": { + "Body": { + "info": { + "version": "1.0", + "title": { + "Ref": "AWS::StackName" + } + }, + "paths": { + "/": { + "get": { + "x-amazon-apigateway-integration": { + "httpMethod": "POST", + "type": "aws_proxy", + "uri": { + "Fn::Sub": "arn:aws-cn:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${ApiFunction.Arn}/invocations" + } + }, + "responses": {} + } + } + }, + "swagger": "2.0" + }, + "FailOnWarnings": true, + "EndpointConfiguration": { + "Types": [ + "REGIONAL" + ] + }, + "Parameters": { + "endpointConfigurationTypes": "REGIONAL" + } + } + }, + "ApiGatewayApiDeploymentb0ed1521b2": { + "Type": "AWS::ApiGateway::Deployment", + "Properties": { + "RestApiId": { + "Ref": "ApiGatewayApi" + }, + "Description": "RestApi deployment id: b0ed1521b2c5e65da74d55d16b139143ae483503", + "StageName": "Stage" + } + }, + "ApiFunctionRole": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ] + }, + "ManagedPolicyArns": [ + "arn:aws-cn:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ], + "Tags": [ + { + "Value": "SAM", + "Key": "lambda:createdBy" + } + ] + } + }, + "ApiFunction": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Handler": "index.handler", + "Code": { + "ZipFile": "def handler(event, context):\n return {'body': 'Hello World!', 'statusCode': 200}\n" + }, + "Role": { + "Fn::GetAtt": [ + "ApiFunctionRole", + "Arn" + ] + }, + "Runtime": "python3.7", + "Tags": [ + { + "Value": "SAM", + "Key": "lambda:createdBy" + } + ] + } + }, + "ApiFunctionApiEventPermissionprod": { + "Type": "AWS::Lambda::Permission", + "Properties": { + "Action": "lambda:InvokeFunction", + "Principal": "apigateway.amazonaws.com", + "FunctionName": { + "Ref": "ApiFunction" + }, + "SourceArn": { + "Fn::Sub": [ + "arn:aws-cn:execute-api:${AWS::Region}:${AWS::AccountId}:${__ApiId__}/${__Stage__}/GET/", + { + "__Stage__": "*", + "__ApiId__": { + "Ref": "ApiGatewayApi" + } + } + ] + } + } + }, + "ApiGatewayApiprodStage": { + "Type": "AWS::ApiGateway::Stage", + "Properties": { + "DeploymentId": { + "Ref": "ApiGatewayApiDeploymentb0ed1521b2" + }, + "RestApiId": { + "Ref": "ApiGatewayApi" + }, + "StageName": "prod" + } + } + } +} \ No newline at end of file diff --git a/tests/translator/output/aws-us-gov/api_with_fail_on_warnings.json b/tests/translator/output/aws-us-gov/api_with_fail_on_warnings.json new file mode 100644 index 0000000000..2aece6d1b9 --- /dev/null +++ b/tests/translator/output/aws-us-gov/api_with_fail_on_warnings.json @@ -0,0 +1,136 @@ +{ + "Resources": { + "ApiGatewayApiDeployment4539d6d48c": { + "Type": "AWS::ApiGateway::Deployment", + "Properties": { + "RestApiId": { + "Ref": "ApiGatewayApi" + }, + "Description": "RestApi deployment id: 4539d6d48c1b3fdc71e492190aa2eeff27526d7f", + "StageName": "Stage" + } + }, + "ApiGatewayApi": { + "Type": "AWS::ApiGateway::RestApi", + "Properties": { + "Body": { + "info": { + "version": "1.0", + "title": { + "Ref": "AWS::StackName" + } + }, + "paths": { + "/": { + "get": { + "x-amazon-apigateway-integration": { + "httpMethod": "POST", + "type": "aws_proxy", + "uri": { + "Fn::Sub": "arn:aws-us-gov:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${ApiFunction.Arn}/invocations" + } + }, + "responses": {} + } + } + }, + "swagger": "2.0" + }, + "FailOnWarnings": true, + "EndpointConfiguration": { + "Types": [ + "REGIONAL" + ] + }, + "Parameters": { + "endpointConfigurationTypes": "REGIONAL" + } + } + }, + "ApiFunctionRole": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ] + }, + "ManagedPolicyArns": [ + "arn:aws-us-gov:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ], + "Tags": [ + { + "Value": "SAM", + "Key": "lambda:createdBy" + } + ] + } + }, + "ApiFunction": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Handler": "index.handler", + "Code": { + "ZipFile": "def handler(event, context):\n return {'body': 'Hello World!', 'statusCode': 200}\n" + }, + "Role": { + "Fn::GetAtt": [ + "ApiFunctionRole", + "Arn" + ] + }, + "Runtime": "python3.7", + "Tags": [ + { + "Value": "SAM", + "Key": "lambda:createdBy" + } + ] + } + }, + "ApiFunctionApiEventPermissionprod": { + "Type": "AWS::Lambda::Permission", + "Properties": { + "Action": "lambda:InvokeFunction", + "Principal": "apigateway.amazonaws.com", + "FunctionName": { + "Ref": "ApiFunction" + }, + "SourceArn": { + "Fn::Sub": [ + "arn:aws-us-gov:execute-api:${AWS::Region}:${AWS::AccountId}:${__ApiId__}/${__Stage__}/GET/", + { + "__Stage__": "*", + "__ApiId__": { + "Ref": "ApiGatewayApi" + } + } + ] + } + } + }, + "ApiGatewayApiprodStage": { + "Type": "AWS::ApiGateway::Stage", + "Properties": { + "DeploymentId": { + "Ref": "ApiGatewayApiDeployment4539d6d48c" + }, + "RestApiId": { + "Ref": "ApiGatewayApi" + }, + "StageName": "prod" + } + } + } +} \ No newline at end of file diff --git a/tests/translator/output/error_api_invalid_fail_on_warnings.json b/tests/translator/output/error_api_invalid_fail_on_warnings.json new file mode 100644 index 0000000000..4f7a202c77 --- /dev/null +++ b/tests/translator/output/error_api_invalid_fail_on_warnings.json @@ -0,0 +1,8 @@ +{ + "errors": [ + { + "errorMessage": "Resource with id [ApiGatewayApi] is invalid. FailOnWarnings cannot be empty." + } + ], + "errorMessage": "Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [ApiGatewayApi] is invalid. Type of property 'FailOnWarnings' is invalid." + } \ No newline at end of file diff --git a/tests/translator/test_translator.py b/tests/translator/test_translator.py index bf11ed7532..558923b6d6 100644 --- a/tests/translator/test_translator.py +++ b/tests/translator/test_translator.py @@ -327,6 +327,7 @@ class TestTranslatorEndToEnd(AbstractTestTranslator): "api_with_mode", "api_with_no_properties", "api_with_disable_api_execute_endpoint", + "api_with_fail_on_warnings", "s3", "s3_create_remove", "s3_existing_lambda_notification_configuration", From 064363396dbb3931a28f36a19354876c8d470c9e Mon Sep 17 00:00:00 2001 From: nialdaly Date: Wed, 22 Jun 2022 04:07:05 +0100 Subject: [PATCH 3/6] initial pass at integration test logic --- .../test_api_with_fail_on_warnings.py | 29 ++++++++++++++++ .../api_with_fail_on_warnings.json | 8 +++++ .../api_with_fail_on_warnings.yaml | 33 +++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 integration/combination/test_api_with_fail_on_warnings.py create mode 100644 integration/resources/expected/combination/api_with_fail_on_warnings.json create mode 100644 integration/resources/templates/combination/api_with_fail_on_warnings.yaml diff --git a/integration/combination/test_api_with_fail_on_warnings.py b/integration/combination/test_api_with_fail_on_warnings.py new file mode 100644 index 0000000000..b65fe0b6f6 --- /dev/null +++ b/integration/combination/test_api_with_fail_on_warnings.py @@ -0,0 +1,29 @@ +from parameterized import parameterized + +from integration.helpers.base_test import BaseTest + + +class TestApiWithFailOnWarnings(BaseTest): + @parameterized.expand( + [ + ("combination/api_with_fail_on_warnings", True), + ("combination/api_with_fail_on_warnings", False), + ] + ) + def test_end_point_configuration(self, file_name, disable_value): + parameters = [ + { + "ParameterKey": "FailOnWarningsValue", + "ParameterValue": "true" if disable_value else "false", + "UsePreviousValue": False, + "ResolvedValue": "string", + } + ] + + self.create_and_verify_stack(file_name, parameters) + + rest_api_id = self.get_physical_id_by_type("AWS::ApiGateway::RestApi") + apigw_client = self.client_provider.api_client + + api_result = apigw_client.get_rest_api(restApiId=rest_api_id) + self.assertEqual(api_result["ResponseMetadata"]["HTTPStatusCode"], 200) diff --git a/integration/resources/expected/combination/api_with_fail_on_warnings.json b/integration/resources/expected/combination/api_with_fail_on_warnings.json new file mode 100644 index 0000000000..b1f81c7a01 --- /dev/null +++ b/integration/resources/expected/combination/api_with_fail_on_warnings.json @@ -0,0 +1,8 @@ +[ + {"LogicalResourceId": "RestApiGateway", "ResourceType": "AWS::ApiGateway::RestApi"}, + {"LogicalResourceId": "RestApiGatewayDeployment", "ResourceType": "AWS::ApiGateway::Deployment"}, + {"LogicalResourceId": "RestApiGatewayProdStage", "ResourceType": "AWS::ApiGateway::Stage"}, + {"LogicalResourceId": "RestApiFunction", "ResourceType": "AWS::Lambda::Function"}, + {"LogicalResourceId": "RestApiFunctionIamPermissionProd", "ResourceType": "AWS::Lambda::Permission"}, + {"LogicalResourceId": "RestApiFunctionRole", "ResourceType": "AWS::IAM::Role"} +] \ No newline at end of file diff --git a/integration/resources/templates/combination/api_with_fail_on_warnings.yaml b/integration/resources/templates/combination/api_with_fail_on_warnings.yaml new file mode 100644 index 0000000000..da847d1cc8 --- /dev/null +++ b/integration/resources/templates/combination/api_with_fail_on_warnings.yaml @@ -0,0 +1,33 @@ +Parameters: + FailOnWarningsValue: + Type: String + AllowedValues: [true, false] + +Resources: + RestApiGateway: + Type: AWS::Serverless::Api + Properties: + StageName: Prod + FailOnWarnings: True + + RestApiFunction: + Type: AWS::Serverless::Function + Properties: + InlineCode: | + exports.handler = async (event) => { + const response = { + statusCode: 200, + body: JSON.stringify('Hello from Lambda!'), + }; + return response; + }; + Handler: index.handler + Runtime: nodejs12.x + Events: + Iam: + Type: Api + Properties: + RestApiId: + Ref: RestApiGateway + Method: GET + Path: / From 5553d97c551402c186fa472edb1e6c9f77b050cf Mon Sep 17 00:00:00 2001 From: nialdaly Date: Wed, 22 Jun 2022 04:22:58 +0100 Subject: [PATCH 4/6] parameterised FailOnWarnings value in api_with_fail_on_warnings.yaml --- .../templates/combination/api_with_fail_on_warnings.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration/resources/templates/combination/api_with_fail_on_warnings.yaml b/integration/resources/templates/combination/api_with_fail_on_warnings.yaml index da847d1cc8..f0a086ed83 100644 --- a/integration/resources/templates/combination/api_with_fail_on_warnings.yaml +++ b/integration/resources/templates/combination/api_with_fail_on_warnings.yaml @@ -8,7 +8,8 @@ Resources: Type: AWS::Serverless::Api Properties: StageName: Prod - FailOnWarnings: True + FailOnWarnings: + Ref: FailOnWarningsValue RestApiFunction: Type: AWS::Serverless::Function From 69006d31c730ab3394788192f10ab1dd172315cc Mon Sep 17 00:00:00 2001 From: nialdaly Date: Wed, 29 Jun 2022 10:56:46 +0100 Subject: [PATCH 5/6] api_with_fail_on_warnings test added to tests/translator/test_translator.py --- tests/translator/test_translator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/translator/test_translator.py b/tests/translator/test_translator.py index b7230f4dd6..c4fa854f65 100644 --- a/tests/translator/test_translator.py +++ b/tests/translator/test_translator.py @@ -303,6 +303,7 @@ def test_transform_success(self, testcase, partition_with_region): "api_with_basic_custom_domain_intrinsics_http", "api_with_custom_domain_route53_http", "api_with_custom_domain_route53_hosted_zone_name_http", + "api_with_fail_on_warnings", "implicit_http_api", "explicit_http_api_minimum", "implicit_http_api_auth_and_simple_case", From 3e88c0465eadce1a5893e0dbadcdd9789beb111b Mon Sep 17 00:00:00 2001 From: nialdaly Date: Wed, 29 Jun 2022 19:05:15 +0100 Subject: [PATCH 6/6] reverted change in tests/translator/test_translator.py --- tests/translator/test_translator.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/translator/test_translator.py b/tests/translator/test_translator.py index c4fa854f65..b7230f4dd6 100644 --- a/tests/translator/test_translator.py +++ b/tests/translator/test_translator.py @@ -303,7 +303,6 @@ def test_transform_success(self, testcase, partition_with_region): "api_with_basic_custom_domain_intrinsics_http", "api_with_custom_domain_route53_http", "api_with_custom_domain_route53_hosted_zone_name_http", - "api_with_fail_on_warnings", "implicit_http_api", "explicit_http_api_minimum", "implicit_http_api_auth_and_simple_case",