From 0b9f5adec2607fd10dd560f069d83d143e48eee6 Mon Sep 17 00:00:00 2001 From: Bert Blommers Date: Fri, 8 Oct 2021 10:03:05 +0000 Subject: [PATCH] Tech debt - Fix more URL regexes (#4380) --- moto/acm/urls.py | 2 +- moto/apigateway/urls.py | 2 +- moto/applicationautoscaling/urls.py | 2 +- moto/awslambda/urls.py | 2 +- moto/backend_index.py | 88 +++++++++++++++----------- moto/batch/urls.py | 2 +- moto/cloudwatch/urls.py | 2 +- moto/cognitoidentity/urls.py | 2 +- moto/cognitoidp/urls.py | 2 +- moto/core/models.py | 4 +- moto/datasync/urls.py | 2 +- moto/dynamodbstreams/urls.py | 2 +- moto/efs/urls.py | 4 +- moto/eks/urls.py | 2 +- moto/elasticbeanstalk/urls.py | 2 +- moto/elastictranscoder/urls.py | 2 +- moto/elb/urls.py | 2 +- moto/elbv2/urls.py | 2 +- moto/emr/urls.py | 4 +- moto/glacier/urls.py | 2 +- moto/iotdata/urls.py | 2 +- moto/kinesisvideo/urls.py | 2 +- moto/kinesisvideoarchivedmedia/urls.py | 2 +- moto/managedblockchain/urls.py | 2 +- moto/mediaconnect/urls.py | 2 +- moto/medialive/urls.py | 2 +- moto/mediapackage/urls.py | 2 +- moto/mediastoredata/urls.py | 2 +- moto/opsworks/urls.py | 2 +- moto/polly/urls.py | 2 +- moto/ram/urls.py | 2 +- moto/resourcegroups/urls.py | 2 +- moto/resourcegroupstaggingapi/urls.py | 2 +- moto/route53/urls.py | 2 +- moto/s3/urls.py | 4 +- moto/s3/utils.py | 2 +- moto/sagemaker/urls.py | 2 +- moto/stepfunctions/urls.py | 2 +- moto/xray/urls.py | 2 +- 39 files changed, 92 insertions(+), 80 deletions(-) diff --git a/moto/acm/urls.py b/moto/acm/urls.py index befced81d..c8a8b1bd1 100644 --- a/moto/acm/urls.py +++ b/moto/acm/urls.py @@ -1,6 +1,6 @@ from __future__ import unicode_literals from .responses import AWSCertificateManagerResponse -url_bases = ["https?://acm\.(.+)\.amazonaws\.com"] +url_bases = [r"https?://acm\.(.+)\.amazonaws\.com"] url_paths = {"{0}/$": AWSCertificateManagerResponse.dispatch} diff --git a/moto/apigateway/urls.py b/moto/apigateway/urls.py index a6d1e87c7..2a2c15f13 100644 --- a/moto/apigateway/urls.py +++ b/moto/apigateway/urls.py @@ -3,7 +3,7 @@ from .responses import APIGatewayResponse response = APIGatewayResponse() -url_bases = ["https?://apigateway.(.+).amazonaws.com"] +url_bases = [r"https?://apigateway\.(.+)\.amazonaws.com"] url_paths = { "{0}/restapis$": response.restapis, diff --git a/moto/applicationautoscaling/urls.py b/moto/applicationautoscaling/urls.py index 8a608f954..fa82c64cf 100644 --- a/moto/applicationautoscaling/urls.py +++ b/moto/applicationautoscaling/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import ApplicationAutoScalingResponse -url_bases = ["https?://application-autoscaling.(.+).amazonaws.com"] +url_bases = [r"https?://application-autoscaling\.(.+)\.amazonaws.com"] url_paths = { "{0}/$": ApplicationAutoScalingResponse.dispatch, diff --git a/moto/awslambda/urls.py b/moto/awslambda/urls.py index ad696b4d6..c7193f37c 100644 --- a/moto/awslambda/urls.py +++ b/moto/awslambda/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import LambdaResponse -url_bases = ["https?://lambda.(.+).amazonaws.com(|.cn)"] +url_bases = [r"https?://lambda\.(.+)\.amazonaws\.com(|.cn)"] response = LambdaResponse() diff --git a/moto/backend_index.py b/moto/backend_index.py index d300f2484..e918fb3b3 100644 --- a/moto/backend_index.py +++ b/moto/backend_index.py @@ -3,27 +3,33 @@ import re backend_url_patterns = [ ("acm", re.compile("https?://acm\\.(.+)\\.amazonaws\\.com")), - ("apigateway", re.compile("https?://apigateway.(.+).amazonaws.com")), + ("apigateway", re.compile("https?://apigateway\\.(.+)\\.amazonaws.com")), ( "applicationautoscaling", - re.compile("https?://application-autoscaling.(.+).amazonaws.com"), + re.compile("https?://application-autoscaling\\.(.+)\\.amazonaws.com"), ), ("athena", re.compile("https?://athena\\.(.+)\\.amazonaws\\.com")), ("autoscaling", re.compile("https?://autoscaling\\.(.+)\\.amazonaws\\.com")), - ("batch", re.compile("https?://batch.(.+).amazonaws.com")), + ("batch", re.compile("https?://batch\\.(.+)\\.amazonaws.com")), ("cloudformation", re.compile("https?://cloudformation\\.(.+)\\.amazonaws\\.com")), - ("cloudwatch", re.compile("https?://monitoring.(.+).amazonaws.com")), + ("cloudwatch", re.compile("https?://monitoring\\.(.+)\\.amazonaws.com")), ("codecommit", re.compile("https?://codecommit\\.(.+)\\.amazonaws\\.com")), ("codepipeline", re.compile("https?://codepipeline\\.(.+)\\.amazonaws\\.com")), - ("cognito-identity", re.compile("https?://cognito-identity.(.+).amazonaws.com")), - ("cognito-idp", re.compile("https?://cognito-idp.(.+).amazonaws.com")), + ( + "cognito-identity", + re.compile("https?://cognito-identity\\.(.+)\\.amazonaws.com"), + ), + ("cognito-idp", re.compile("https?://cognito-idp\\.(.+)\\.amazonaws.com")), ("config", re.compile("https?://config\\.(.+)\\.amazonaws\\.com")), ("datapipeline", re.compile("https?://datapipeline\\.(.+)\\.amazonaws\\.com")), - ("datasync", re.compile("https?://(.*\\.)?(datasync)\\.(.+).amazonaws.com")), + ("datasync", re.compile("https?://(.*\\.)?(datasync)\\.(.+)\\.amazonaws.com")), ("dms", re.compile("https?://dms\\.(.+)\\.amazonaws\\.com")), ("dynamodb", re.compile("https?://dynamodb\\.(.+)\\.amazonaws\\.com")), ("dynamodb2", re.compile("https?://dynamodb\\.(.+)\\.amazonaws\\.com")), - ("dynamodbstreams", re.compile("https?://streams.dynamodb.(.+).amazonaws.com")), + ( + "dynamodbstreams", + re.compile("https?://streams\\.dynamodb\\.(.+)\\.amazonaws.com"), + ), ("ec2", re.compile("https?://ec2\\.(.+)\\.amazonaws\\.com(|\\.cn)")), ( "ec2instanceconnect", @@ -32,64 +38,70 @@ backend_url_patterns = [ ("ecr", re.compile("https?://ecr\\.(.+)\\.amazonaws\\.com")), ("ecr", re.compile("https?://api\\.ecr\\.(.+)\\.amazonaws\\.com")), ("ecs", re.compile("https?://ecs\\.(.+)\\.amazonaws\\.com")), - ("efs", re.compile("https?://elasticfilesystem.(.+).amazonaws.com")), - ("efs", re.compile("https?://elasticfilesystem.amazonaws.com")), - ("eks", re.compile("https?://eks.(.+).amazonaws.com")), + ("efs", re.compile("https?://elasticfilesystem\\.(.+)\\.amazonaws.com")), + ("efs", re.compile("https?://elasticfilesystem\\.amazonaws.com")), + ("eks", re.compile("https?://eks\\.(.+)\\.amazonaws.com")), ( "elasticbeanstalk", re.compile( - "https?://elasticbeanstalk.(?P[a-zA-Z0-9\\-_]+).amazonaws.com" + "https?://elasticbeanstalk\\.(?P[a-zA-Z0-9\\-_]+)\\.amazonaws.com" ), ), - ("elastictranscoder", re.compile("https?://elastictranscoder.(.+).amazonaws.com")), - ("elb", re.compile("https?://elasticloadbalancing.(.+).amazonaws.com")), - ("elbv2", re.compile("https?://elasticloadbalancing.(.+).amazonaws.com")), - ("emr", re.compile("https?://(.+).elasticmapreduce.amazonaws.com")), - ("emr", re.compile("https?://elasticmapreduce.(.+).amazonaws.com")), + ( + "elastictranscoder", + re.compile("https?://elastictranscoder\\.(.+)\\.amazonaws.com"), + ), + ("elb", re.compile("https?://elasticloadbalancing\\.(.+)\\.amazonaws.com")), + ("elbv2", re.compile("https?://elasticloadbalancing\\.(.+)\\.amazonaws.com")), + ("emr", re.compile("https?://(.+)\\.elasticmapreduce\\.amazonaws.com")), + ("emr", re.compile("https?://elasticmapreduce\\.(.+)\\.amazonaws.com")), ("events", re.compile("https?://events\\.(.+)\\.amazonaws\\.com")), ("firehose", re.compile("https?://firehose\\.(.+)\\.amazonaws\\.com")), ("forecast", re.compile("https?://forecast\\.(.+)\\.amazonaws\\.com")), - ("glacier", re.compile("https?://glacier.(.+).amazonaws.com")), + ("glacier", re.compile("https?://glacier\\.(.+)\\.amazonaws.com")), ("glue", re.compile("https?://glue\\.(.+)\\.amazonaws\\.com")), ("iam", re.compile("https?://iam\\.(.*\\.)?amazonaws\\.com")), ("iot", re.compile("https?://iot\\.(.+)\\.amazonaws\\.com")), - ("iot-data", re.compile("https?://data.iot.(.+).amazonaws.com")), + ("iot-data", re.compile("https?://data\\.iot\\.(.+)\\.amazonaws.com")), ("kinesis", re.compile("https?://kinesis\\.(.+)\\.amazonaws\\.com")), - ("kinesisvideo", re.compile("https?://kinesisvideo.(.+).amazonaws.com")), + ("kinesisvideo", re.compile("https?://kinesisvideo\\.(.+)\\.amazonaws.com")), ( "kinesis-video-archived-media", - re.compile("https?://.*\\.kinesisvideo.(.+).amazonaws.com"), + re.compile("https?://.*\\.kinesisvideo\\.(.+)\\.amazonaws.com"), ), ("kms", re.compile("https?://kms\\.(.+)\\.amazonaws\\.com")), - ("lambda", re.compile("https?://lambda.(.+).amazonaws.com(|.cn)")), + ("lambda", re.compile("https?://lambda\\.(.+)\\.amazonaws\\.com(|.cn)")), ("logs", re.compile("https?://logs\\.(.+)\\.amazonaws\\.com")), - ("managedblockchain", re.compile("https?://managedblockchain.(.+).amazonaws.com")), - ("mediaconnect", re.compile("https?://mediaconnect.(.+).amazonaws.com")), - ("medialive", re.compile("https?://medialive.(.+).amazonaws.com")), - ("mediapackage", re.compile("https?://mediapackage.(.+).amazonaws.com")), + ( + "managedblockchain", + re.compile("https?://managedblockchain\\.(.+)\\.amazonaws.com"), + ), + ("mediaconnect", re.compile("https?://mediaconnect\\.(.+)\\.amazonaws.com")), + ("medialive", re.compile("https?://medialive\\.(.+)\\.amazonaws.com")), + ("mediapackage", re.compile("https?://mediapackage\\.(.+)\\.amazonaws.com")), ("mediastore", re.compile("https?://mediastore\\.(.+)\\.amazonaws\\.com")), - ("mediastore-data", re.compile("https?://data.mediastore.(.+).amazonaws.com")), - ("opsworks", re.compile("https?://opsworks.us-east-1.amazonaws.com")), + ("mediastore-data", re.compile("https?://data.mediastore\\.(.+)\\.amazonaws.com")), + ("opsworks", re.compile("https?://opsworks\\.us-east-1\\.amazonaws.com")), ("organizations", re.compile("https?://organizations\\.(.+)\\.amazonaws\\.com")), - ("polly", re.compile("https?://polly.(.+).amazonaws.com")), - ("ram", re.compile("https?://ram.(.+).amazonaws.com")), + ("polly", re.compile("https?://polly\\.(.+)\\.amazonaws.com")), + ("ram", re.compile("https?://ram\\.(.+)\\.amazonaws.com")), ("rds", re.compile("https?://rds\\.(.+)\\.amazonaws\\.com")), ("rds", re.compile("https?://rds\\.amazonaws\\.com")), ("redshift", re.compile("https?://redshift\\.(.+)\\.amazonaws\\.com")), ( "resource-groups", - re.compile("https?://resource-groups(-fips)?.(.+).amazonaws.com"), + re.compile("https?://resource-groups(-fips)?\\.(.+)\\.amazonaws.com"), ), - ("resourcegroupstaggingapi", re.compile("https?://tagging.(.+).amazonaws.com")), - ("route53", re.compile("https?://route53(.*).amazonaws.com")), - ("s3", re.compile("https?://s3(.*).amazonaws.com")), + ("resourcegroupstaggingapi", re.compile("https?://tagging\\.(.+)\\.amazonaws.com")), + ("route53", re.compile("https?://route53(.*)\\.amazonaws.com")), + ("s3", re.compile("https?://s3(.*)\\.amazonaws.com")), ( "s3", re.compile( - "https?://(?P[a-zA-Z0-9\\-_.]*)\\.?s3(.*).amazonaws.com" + "https?://(?P[a-zA-Z0-9\\-_.]*)\\.?s3(.*)\\.amazonaws.com" ), ), - ("sagemaker", re.compile("https?://api.sagemaker.(.+).amazonaws.com")), + ("sagemaker", re.compile("https?://api.sagemaker\\.(.+)\\.amazonaws.com")), ("secretsmanager", re.compile("https?://secretsmanager\\.(.+)\\.amazonaws\\.com")), ("ses", re.compile("https?://email\\.(.+)\\.amazonaws\\.com")), ("ses", re.compile("https?://ses\\.(.+)\\.amazonaws\\.com")), @@ -97,11 +109,11 @@ backend_url_patterns = [ ("sqs", re.compile("https?://(.*\\.)?(queue|sqs)\\.(.*\\.)?amazonaws\\.com")), ("ssm", re.compile("https?://ssm\\.(.+)\\.amazonaws\\.com")), ("ssm", re.compile("https?://ssm\\.(.+)\\.amazonaws\\.com\\.cn")), - ("stepfunctions", re.compile("https?://states.(.+).amazonaws.com")), + ("stepfunctions", re.compile("https?://states\\.(.+)\\.amazonaws.com")), ("sts", re.compile("https?://sts\\.(.*\\.)?amazonaws\\.com(|.cn)")), ("support", re.compile("https?://support\\.(.+)\\.amazonaws\\.com")), ("swf", re.compile("https?://swf\\.(.+)\\.amazonaws\\.com")), ("transcribe", re.compile("https?://transcribe\\.(.+)\\.amazonaws\\.com")), ("wafv2", re.compile("https?://wafv2\\.(.+)\\.amazonaws.com")), - ("xray", re.compile("https?://xray.(.+).amazonaws.com")), + ("xray", re.compile("https?://xray\\.(.+)\\.amazonaws.com")), ] diff --git a/moto/batch/urls.py b/moto/batch/urls.py index 9dc507416..d8df974c1 100644 --- a/moto/batch/urls.py +++ b/moto/batch/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import BatchResponse -url_bases = ["https?://batch.(.+).amazonaws.com"] +url_bases = [r"https?://batch\.(.+)\.amazonaws.com"] url_paths = { "{0}/v1/createcomputeenvironment$": BatchResponse.dispatch, diff --git a/moto/cloudwatch/urls.py b/moto/cloudwatch/urls.py index b97bcff05..4ebbaf0da 100644 --- a/moto/cloudwatch/urls.py +++ b/moto/cloudwatch/urls.py @@ -1,5 +1,5 @@ from .responses import CloudWatchResponse -url_bases = ["https?://monitoring.(.+).amazonaws.com"] +url_bases = [r"https?://monitoring\.(.+)\.amazonaws.com"] url_paths = {"{0}/$": CloudWatchResponse.dispatch} diff --git a/moto/cognitoidentity/urls.py b/moto/cognitoidentity/urls.py index e96c189b4..c612644ed 100644 --- a/moto/cognitoidentity/urls.py +++ b/moto/cognitoidentity/urls.py @@ -1,6 +1,6 @@ from __future__ import unicode_literals from .responses import CognitoIdentityResponse -url_bases = ["https?://cognito-identity.(.+).amazonaws.com"] +url_bases = [r"https?://cognito-identity\.(.+)\.amazonaws.com"] url_paths = {"{0}/$": CognitoIdentityResponse.dispatch} diff --git a/moto/cognitoidp/urls.py b/moto/cognitoidp/urls.py index 09e675e70..a2185899c 100644 --- a/moto/cognitoidp/urls.py +++ b/moto/cognitoidp/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import CognitoIdpResponse, CognitoIdpJsonWebKeyResponse -url_bases = ["https?://cognito-idp.(.+).amazonaws.com"] +url_bases = [r"https?://cognito-idp\.(.+)\.amazonaws.com"] url_paths = { "{0}/$": CognitoIdpResponse.dispatch, diff --git a/moto/core/models.py b/moto/core/models.py index 307f738ca..560947a34 100644 --- a/moto/core/models.py +++ b/moto/core/models.py @@ -450,7 +450,7 @@ class BotocoreEventMockAWS(BaseMockAWS): responses_mock.add( CallbackResponse( method=method, - url=re.compile(r"https?://.+.amazonaws.com/.*"), + url=re.compile(r"https?://.+\.amazonaws.com/.*"), callback=not_implemented_callback, stream=True, match_querystring=False, @@ -459,7 +459,7 @@ class BotocoreEventMockAWS(BaseMockAWS): botocore_mock.add( CallbackResponse( method=method, - url=re.compile(r"https?://.+.amazonaws.com/.*"), + url=re.compile(r"https?://.+\.amazonaws.com/.*"), callback=not_implemented_callback, stream=True, match_querystring=False, diff --git a/moto/datasync/urls.py b/moto/datasync/urls.py index 4868eec58..66fbb2bc0 100644 --- a/moto/datasync/urls.py +++ b/moto/datasync/urls.py @@ -2,6 +2,6 @@ from __future__ import unicode_literals from .responses import DataSyncResponse -url_bases = [r"https?://(.*\.)?(datasync)\.(.+).amazonaws.com"] +url_bases = [r"https?://(.*\.)?(datasync)\.(.+)\.amazonaws.com"] url_paths = {"{0}/$": DataSyncResponse.dispatch} diff --git a/moto/dynamodbstreams/urls.py b/moto/dynamodbstreams/urls.py index a7589ae13..83fd48db0 100644 --- a/moto/dynamodbstreams/urls.py +++ b/moto/dynamodbstreams/urls.py @@ -1,6 +1,6 @@ from __future__ import unicode_literals from .responses import DynamoDBStreamsHandler -url_bases = ["https?://streams.dynamodb.(.+).amazonaws.com"] +url_bases = [r"https?://streams\.dynamodb\.(.+)\.amazonaws.com"] url_paths = {"{0}/$": DynamoDBStreamsHandler.dispatch} diff --git a/moto/efs/urls.py b/moto/efs/urls.py index cfcbe3749..0470a1d85 100644 --- a/moto/efs/urls.py +++ b/moto/efs/urls.py @@ -3,8 +3,8 @@ from __future__ import unicode_literals from .responses import EFSResponse url_bases = [ - "https?://elasticfilesystem.(.+).amazonaws.com", - "https?://elasticfilesystem.amazonaws.com", + r"https?://elasticfilesystem\.(.+)\.amazonaws.com", + r"https?://elasticfilesystem\.amazonaws.com", ] diff --git a/moto/eks/urls.py b/moto/eks/urls.py index 36f0f679b..6ed6dfc39 100644 --- a/moto/eks/urls.py +++ b/moto/eks/urls.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from .responses import EKSResponse url_bases = [ - "https?://eks.(.+).amazonaws.com", + r"https?://eks\.(.+)\.amazonaws.com", ] diff --git a/moto/elasticbeanstalk/urls.py b/moto/elasticbeanstalk/urls.py index 2d57f7f9d..42f52fd29 100644 --- a/moto/elasticbeanstalk/urls.py +++ b/moto/elasticbeanstalk/urls.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from .responses import EBResponse url_bases = [ - r"https?://elasticbeanstalk.(?P[a-zA-Z0-9\-_]+).amazonaws.com", + r"https?://elasticbeanstalk\.(?P[a-zA-Z0-9\-_]+)\.amazonaws.com", ] url_paths = { diff --git a/moto/elastictranscoder/urls.py b/moto/elastictranscoder/urls.py index e01428c0b..746663b6e 100644 --- a/moto/elastictranscoder/urls.py +++ b/moto/elastictranscoder/urls.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from .responses import ElasticTranscoderResponse url_bases = [ - "https?://elastictranscoder.(.+).amazonaws.com", + r"https?://elastictranscoder\.(.+)\.amazonaws.com", ] diff --git a/moto/elb/urls.py b/moto/elb/urls.py index 2f5567e42..2cfb8a789 100644 --- a/moto/elb/urls.py +++ b/moto/elb/urls.py @@ -35,6 +35,6 @@ def api_version_elb_backend(*args, **kwargs): raise Exception("Unknown ELB API version: {}".format(version)) -url_bases = ["https?://elasticloadbalancing.(.+).amazonaws.com"] +url_bases = [r"https?://elasticloadbalancing\.(.+)\.amazonaws.com"] url_paths = {"{0}/$": api_version_elb_backend} diff --git a/moto/elbv2/urls.py b/moto/elbv2/urls.py index 06b8f107e..ccae40cec 100644 --- a/moto/elbv2/urls.py +++ b/moto/elbv2/urls.py @@ -1,6 +1,6 @@ from __future__ import unicode_literals from ..elb.urls import api_version_elb_backend -url_bases = ["https?://elasticloadbalancing.(.+).amazonaws.com"] +url_bases = [r"https?://elasticloadbalancing\.(.+)\.amazonaws.com"] url_paths = {"{0}/$": api_version_elb_backend} diff --git a/moto/emr/urls.py b/moto/emr/urls.py index 81275135d..8193a2b53 100644 --- a/moto/emr/urls.py +++ b/moto/emr/urls.py @@ -2,8 +2,8 @@ from __future__ import unicode_literals from .responses import ElasticMapReduceResponse url_bases = [ - "https?://(.+).elasticmapreduce.amazonaws.com", - "https?://elasticmapreduce.(.+).amazonaws.com", + r"https?://(.+)\.elasticmapreduce\.amazonaws.com", + r"https?://elasticmapreduce\.(.+)\.amazonaws.com", ] url_paths = {"{0}/$": ElasticMapReduceResponse.dispatch} diff --git a/moto/glacier/urls.py b/moto/glacier/urls.py index 3c57a5940..8f0e89d65 100644 --- a/moto/glacier/urls.py +++ b/moto/glacier/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import GlacierResponse -url_bases = ["https?://glacier.(.+).amazonaws.com"] +url_bases = [r"https?://glacier\.(.+)\.amazonaws.com"] response = GlacierResponse() diff --git a/moto/iotdata/urls.py b/moto/iotdata/urls.py index df7e58e44..8ecd3db98 100644 --- a/moto/iotdata/urls.py +++ b/moto/iotdata/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import IoTDataPlaneResponse -url_bases = ["https?://data.iot.(.+).amazonaws.com"] +url_bases = [r"https?://data\.iot\.(.+)\.amazonaws.com"] response = IoTDataPlaneResponse() diff --git a/moto/kinesisvideo/urls.py b/moto/kinesisvideo/urls.py index 9aab7f8e2..1a6ac47d5 100644 --- a/moto/kinesisvideo/urls.py +++ b/moto/kinesisvideo/urls.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from .responses import KinesisVideoResponse url_bases = [ - "https?://kinesisvideo.(.+).amazonaws.com", + r"https?://kinesisvideo\.(.+)\.amazonaws.com", ] diff --git a/moto/kinesisvideoarchivedmedia/urls.py b/moto/kinesisvideoarchivedmedia/urls.py index 88c2d59f0..d424cd386 100644 --- a/moto/kinesisvideoarchivedmedia/urls.py +++ b/moto/kinesisvideoarchivedmedia/urls.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from .responses import KinesisVideoArchivedMediaResponse url_bases = [ - r"https?://.*\.kinesisvideo.(.+).amazonaws.com", + r"https?://.*\.kinesisvideo\.(.+)\.amazonaws.com", ] diff --git a/moto/managedblockchain/urls.py b/moto/managedblockchain/urls.py index 9bc2491f5..0e5fad266 100644 --- a/moto/managedblockchain/urls.py +++ b/moto/managedblockchain/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import ManagedBlockchainResponse -url_bases = ["https?://managedblockchain.(.+).amazonaws.com"] +url_bases = [r"https?://managedblockchain\.(.+)\.amazonaws.com"] url_paths = { "{0}/networks$": ManagedBlockchainResponse.network_response, diff --git a/moto/mediaconnect/urls.py b/moto/mediaconnect/urls.py index f83ccc4b8..540e21870 100644 --- a/moto/mediaconnect/urls.py +++ b/moto/mediaconnect/urls.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from .responses import MediaConnectResponse url_bases = [ - "https?://mediaconnect.(.+).amazonaws.com", + r"https?://mediaconnect\.(.+)\.amazonaws.com", ] diff --git a/moto/medialive/urls.py b/moto/medialive/urls.py index c5183757d..38a27910e 100644 --- a/moto/medialive/urls.py +++ b/moto/medialive/urls.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from .responses import MediaLiveResponse url_bases = [ - "https?://medialive.(.+).amazonaws.com", + r"https?://medialive\.(.+)\.amazonaws.com", ] diff --git a/moto/mediapackage/urls.py b/moto/mediapackage/urls.py index 2253e4a2d..f44b5fb18 100644 --- a/moto/mediapackage/urls.py +++ b/moto/mediapackage/urls.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from .responses import MediaPackageResponse url_bases = [ - "https?://mediapackage.(.+).amazonaws.com", + r"https?://mediapackage\.(.+)\.amazonaws.com", ] diff --git a/moto/mediastoredata/urls.py b/moto/mediastoredata/urls.py index 1fba35b55..fecf21acc 100644 --- a/moto/mediastoredata/urls.py +++ b/moto/mediastoredata/urls.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from .responses import MediaStoreDataResponse url_bases = [ - "https?://data.mediastore.(.+).amazonaws.com", + r"https?://data.mediastore\.(.+)\.amazonaws.com", ] response = MediaStoreDataResponse() diff --git a/moto/opsworks/urls.py b/moto/opsworks/urls.py index 1e5246e59..4e3e4f33f 100644 --- a/moto/opsworks/urls.py +++ b/moto/opsworks/urls.py @@ -3,6 +3,6 @@ from .responses import OpsWorksResponse # AWS OpsWorks has a single endpoint: opsworks.us-east-1.amazonaws.com # and only supports HTTPS requests. -url_bases = ["https?://opsworks.us-east-1.amazonaws.com"] +url_bases = [r"https?://opsworks\.us-east-1\.amazonaws.com"] url_paths = {"{0}/$": OpsWorksResponse.dispatch} diff --git a/moto/polly/urls.py b/moto/polly/urls.py index 5408c8cc1..3efd12853 100644 --- a/moto/polly/urls.py +++ b/moto/polly/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import PollyResponse -url_bases = ["https?://polly.(.+).amazonaws.com"] +url_bases = [r"https?://polly\.(.+)\.amazonaws.com"] url_paths = { "{0}/v1/voices": PollyResponse.dispatch, diff --git a/moto/ram/urls.py b/moto/ram/urls.py index 1414b89b0..2aa2ee015 100644 --- a/moto/ram/urls.py +++ b/moto/ram/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import ResourceAccessManagerResponse -url_bases = ["https?://ram.(.+).amazonaws.com"] +url_bases = [r"https?://ram\.(.+)\.amazonaws.com"] url_paths = { "{0}/createresourceshare$": ResourceAccessManagerResponse.dispatch, diff --git a/moto/resourcegroups/urls.py b/moto/resourcegroups/urls.py index fba61ef78..7483c4628 100644 --- a/moto/resourcegroups/urls.py +++ b/moto/resourcegroups/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import ResourceGroupsResponse -url_bases = ["https?://resource-groups(-fips)?.(.+).amazonaws.com"] +url_bases = [r"https?://resource-groups(-fips)?\.(.+)\.amazonaws.com"] url_paths = { "{0}/delete-group$": ResourceGroupsResponse.dispatch, diff --git a/moto/resourcegroupstaggingapi/urls.py b/moto/resourcegroupstaggingapi/urls.py index 3b0182ee9..4f9f43f98 100644 --- a/moto/resourcegroupstaggingapi/urls.py +++ b/moto/resourcegroupstaggingapi/urls.py @@ -1,6 +1,6 @@ from __future__ import unicode_literals from .responses import ResourceGroupsTaggingAPIResponse -url_bases = ["https?://tagging.(.+).amazonaws.com"] +url_bases = [r"https?://tagging\.(.+)\.amazonaws.com"] url_paths = {"{0}/$": ResourceGroupsTaggingAPIResponse.dispatch} diff --git a/moto/route53/urls.py b/moto/route53/urls.py index 8604f0603..fc9c81007 100644 --- a/moto/route53/urls.py +++ b/moto/route53/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import Route53 -url_bases = ["https?://route53(.*).amazonaws.com"] +url_bases = [r"https?://route53(.*)\.amazonaws.com"] def tag_response1(*args, **kwargs): diff --git a/moto/s3/urls.py b/moto/s3/urls.py index 4c4e9ea76..f65cb167a 100644 --- a/moto/s3/urls.py +++ b/moto/s3/urls.py @@ -3,8 +3,8 @@ from __future__ import unicode_literals from .responses import S3ResponseInstance url_bases = [ - "https?://s3(.*).amazonaws.com", - r"https?://(?P[a-zA-Z0-9\-_.]*)\.?s3(.*).amazonaws.com", + r"https?://s3(.*)\.amazonaws.com", + r"https?://(?P[a-zA-Z0-9\-_.]*)\.?s3(.*)\.amazonaws.com", ] url_paths = { diff --git a/moto/s3/utils.py b/moto/s3/utils.py index fbc9d342c..48e5076dd 100644 --- a/moto/s3/utils.py +++ b/moto/s3/utils.py @@ -11,7 +11,7 @@ from moto.settings import S3_IGNORE_SUBDOMAIN_BUCKETNAME log = logging.getLogger(__name__) -bucket_name_regex = re.compile("(.+).s3(.*).amazonaws.com") +bucket_name_regex = re.compile(r"(.+)\.s3(.*)\.amazonaws.com") user_settable_fields = { "content-md5", "content-language", diff --git a/moto/sagemaker/urls.py b/moto/sagemaker/urls.py index 9c039d899..5645fdfc1 100644 --- a/moto/sagemaker/urls.py +++ b/moto/sagemaker/urls.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from .responses import SageMakerResponse url_bases = [ - "https?://api.sagemaker.(.+).amazonaws.com", + r"https?://api.sagemaker\.(.+)\.amazonaws.com", ] url_paths = { diff --git a/moto/stepfunctions/urls.py b/moto/stepfunctions/urls.py index 46dfd4e24..6b516fc6c 100644 --- a/moto/stepfunctions/urls.py +++ b/moto/stepfunctions/urls.py @@ -1,6 +1,6 @@ from __future__ import unicode_literals from .responses import StepFunctionResponse -url_bases = ["https?://states.(.+).amazonaws.com"] +url_bases = [r"https?://states\.(.+)\.amazonaws.com"] url_paths = {"{0}/$": StepFunctionResponse.dispatch} diff --git a/moto/xray/urls.py b/moto/xray/urls.py index 4a3d4b253..55c885a6e 100644 --- a/moto/xray/urls.py +++ b/moto/xray/urls.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals from .responses import XRayResponse -url_bases = ["https?://xray.(.+).amazonaws.com"] +url_bases = [r"https?://xray\.(.+)\.amazonaws.com"] url_paths = { "{0}/TelemetryRecords$": XRayResponse.dispatch,