diff --git a/localstack/services/acm/provider.py b/localstack/services/acm/provider.py index 54fb820dd6a92..8ebd9b9b8120a 100644 --- a/localstack/services/acm/provider.py +++ b/localstack/services/acm/provider.py @@ -1,4 +1,3 @@ -from moto.acm import acm_backends from moto.acm import models as acm_models from localstack.aws.api import RequestContext, handler @@ -66,7 +65,7 @@ def request_certificate( response: RequestCertificateResponse = moto.call_moto(context) cert_arn = response["CertificateArn"] - backend = acm_backends[context.account_id][context.region] + backend = acm_models.acm_backends[context.account_id][context.region] cert = backend._certificates[cert_arn] if not hasattr(cert, "domain_validation_options"): cert.domain_validation_options = request.get("DomainValidationOptions") diff --git a/localstack/services/route53resolver/models.py b/localstack/services/route53resolver/models.py index f1bd1466d8bb3..0836746cc4a0c 100644 --- a/localstack/services/route53resolver/models.py +++ b/localstack/services/route53resolver/models.py @@ -151,10 +151,10 @@ def delete_resolver_query_log_config_associations( association_id = association.get("Id") return self.resolver_query_log_config_associations.pop(association_id) - def get_or_create_firewall_config(self, resource_id, region, owner_id): + def get_or_create_firewall_config(self, resource_id: str, region: str, account_id: str): """returns the firewall config with the given id if it exists or creates a new one""" - validate_vpc(resource_id, region) + validate_vpc(resource_id, region, account_id) firewall_config: FirewallConfig if self.firewall_configs.get(resource_id): firewall_config = self.firewall_configs[resource_id] @@ -163,7 +163,7 @@ def get_or_create_firewall_config(self, resource_id, region, owner_id): firewall_config = FirewallConfig( Id=id, ResourceId=resource_id, - OwnerId=owner_id, + OwnerId=account_id, FirewallFailOpen="DISABLED", ) self.firewall_configs[resource_id] = firewall_config diff --git a/localstack/services/route53resolver/provider.py b/localstack/services/route53resolver/provider.py index 0ff701a2c497f..225bfc026f67e 100644 --- a/localstack/services/route53resolver/provider.py +++ b/localstack/services/route53resolver/provider.py @@ -522,7 +522,9 @@ def create_resolver_query_log_config( CreationTime=datetime.now(timezone.utc).isoformat(), ) region_details.resolver_query_log_configs[id] = resolver_query_log_config - route53resolver_backends[context.region].tagger.tag_resource(arn, tags or []) + route53resolver_backends[context.account_id][context.region].tagger.tag_resource( + arn, tags or [] + ) return CreateResolverQueryLogConfigResponse( ResolverQueryLogConfig=resolver_query_log_config ) @@ -665,7 +667,7 @@ def list_firewall_configs( ) -> ListFirewallConfigsResponse: region_details = Route53ResolverBackend.get() firewall_configs = [] - backend = ec2_backends[context.region] + backend = ec2_backends[context.account_id][context.region] for vpc in backend.vpcs: if vpc not in region_details.firewall_configs: region_details.get_or_create_firewall_config( @@ -682,7 +684,7 @@ def update_firewall_config( firewall_fail_open: FirewallFailOpenStatus, ) -> UpdateFirewallConfigResponse: region_details = Route53ResolverBackend.get() - backend = ec2_backends[context.region] + backend = ec2_backends[context.account_id][context.region] for resource_id in backend.vpcs: if resource_id not in region_details.firewall_configs: firewall_config = region_details.get_or_create_firewall_config( diff --git a/localstack/services/route53resolver/utils.py b/localstack/services/route53resolver/utils.py index 0f1b35a85b8cc..eb78c638189a2 100644 --- a/localstack/services/route53resolver/utils.py +++ b/localstack/services/route53resolver/utils.py @@ -56,8 +56,8 @@ def validate_destination_arn(destination_arn): ) -def validate_vpc(vpc_id, region): - backend = ec2_backends[region] +def validate_vpc(vpc_id: str, region: str, account_id: str): + backend = ec2_backends[account_id][region] if vpc_id not in backend.vpcs: raise ValidationException( diff --git a/tests/terraform/get-tf-tests.py b/tests/terraform/get-tf-tests.py index 7f5f68e07099f..eeb5d0a988791 100644 --- a/tests/terraform/get-tf-tests.py +++ b/tests/terraform/get-tf-tests.py @@ -13,7 +13,7 @@ def print_test_names(service): if len(tests) == 1: print(tests[0]) else: - print('"(' + "|".join(tests) + ')"') + print('"(^' + "$|^".join(tests) + '$)"') if __name__ == "__main__": diff --git a/tests/terraform/run.sh b/tests/terraform/run.sh index d4e9beaf06b0e..2cfc2b650153b 100644 --- a/tests/terraform/run.sh +++ b/tests/terraform/run.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -euo pipefail export TF_ACC=1 export AWS_ALTERNATE_ACCESS_KEY_ID=test @@ -52,4 +53,4 @@ fi if [ $CI == "false" ]; then python -m http.server -fi \ No newline at end of file +fi diff --git a/tests/terraform/terraform-tests.yaml b/tests/terraform/terraform-tests.yaml index 202c5209b0129..9ad2fc68cbb9a 100644 --- a/tests/terraform/terraform-tests.yaml +++ b/tests/terraform/terraform-tests.yaml @@ -33,8 +33,6 @@ route53: - TestAccRoute53Record_longTXTrecord - TestAccRoute53Record_Allow_doNotOverwrite - TestAccRoute53Record_Allow_overwrite - - TestAccRoute53VPCAssociationAuthorization_basic - - TestAccRoute53VPCAssociationAuthorization_disappears - TestAccRoute53Zone_basic - TestAccRoute53Zone_disappears - TestAccRoute53Zone_multiple @@ -53,7 +51,6 @@ route53: - TestAccRoute53ZoneAssociation_disappears - TestAccRoute53ZoneAssociation_Disappears_vpc - TestAccRoute53ZoneAssociation_Disappears_zone - - TestAccRoute53ZoneAssociation_crossAccount - TestAccRoute53ZoneAssociation_crossRegion - TestAccRoute53QueryLog_basic - TestAccRoute53QueryLog_disappears @@ -73,11 +70,9 @@ route53resolver: - TestAccRoute53ResolverEndpointDataSource_filter - TestAccRoute53ResolverEndpoint_basicInbound - TestAccRoute53ResolverEndpoint_updateOutbound - - TestAccRoute53ResolverFirewallConfig_basic - TestAccRoute53ResolverFirewallConfig_disappears - TestAccRoute53ResolverFirewallDomainList_basic - TestAccRoute53ResolverFirewallDomainList_disappears - - TestAccRoute53ResolverFirewallDomainList_domains - TestAccRoute53ResolverFirewallDomainList_tags - TestAccRoute53ResolverFirewallRuleGroupAssociation_basic - TestAccRoute53ResolverFirewallRuleGroupAssociation_disappears @@ -242,7 +237,6 @@ s3: - TestAccS3Bucket_disappears - TestAccS3Bucket_Duplicate_basic - TestAccS3Bucket_Duplicate_UsEast1 - - TestAccS3Bucket_Duplicate_UsEast1AltAccount - TestAccS3Bucket_Tags_basic - TestAccS3Bucket_Tags_withNoSystemTags - TestAccS3Bucket_Tags_ignoreTags