This commit is contained in:
Bert Blommers 2020-04-08 11:06:30 +01:00
parent 856c07de63
commit 8237fdaff0
4 changed files with 51 additions and 54 deletions

View File

@ -120,6 +120,7 @@ class ApiKeyAlreadyExists(RESTError):
"ConflictException", "API Key already exists"
)
class DomainNameNotFound(RESTError):
code = 404

View File

@ -34,7 +34,7 @@ from .exceptions import (
NoIntegrationDefined,
NoMethodDefined,
ApiKeyAlreadyExists,
DomainNameNotFound
DomainNameNotFound,
)
STAGE_URL = "https://{api_id}.execute-api.{region_name}.amazonaws.com/{stage_name}"
@ -609,12 +609,12 @@ class RestAPI(BaseModel):
return self.deployments.pop(deployment_id)
class DomainName(BaseModel,dict):
class DomainName(BaseModel, dict):
def __init__(self, domain_name, **kwargs):
super(DomainName, self).__init__()
self["domainName"] = domain_name
self["regionalDomainName"] = domain_name,
self["distributionDomainName"] = domain_name,
self["regionalDomainName"] = domain_name
self["distributionDomainName"] = domain_name
self["domainNameStatus"] = "AVAILABLE"
self["domainNameStatusMessage"] = "Domain Name Available"
self["regionalHostedZoneId"] = "Z2FDTNDATAQYW2"
@ -627,31 +627,21 @@ class DomainName(BaseModel,dict):
if kwargs.get("certificate_body"):
self["certificateBody"] = kwargs.get("certificate_body")
if kwargs.get("tags"):
self["tags"] = kwargs.get("tags" )
self["tags"] = kwargs.get("tags")
if kwargs.get("security_policy"):
self["securityPolicy"] = kwargs.get("security_policy")
if kwargs.get("certificate_chain"):
self["certificateChain"] = kwargs.get("certificate_chain")
if kwargs.get("regional_certificate_name"):
self["regionalCertificateName"] = kwargs.get(
"regional_certificate_name"
)
self["regionalCertificateName"] = kwargs.get("regional_certificate_name")
if kwargs.get("certificate_private_key"):
self["certificatePrivateKey"] = kwargs.get(
"certificate_private_key"
)
self["certificatePrivateKey"] = kwargs.get("certificate_private_key")
if kwargs.get("regional_certificate_arn"):
self["regionalCertificateArn"] = kwargs.get(
"regional_certificate_arn"
)
self["regionalCertificateArn"] = kwargs.get("regional_certificate_arn")
if kwargs.get("endpoint_configuration"):
self["endpointConfiguration"] = kwargs.get(
"endpoint_configuration"
)
self["endpointConfiguration"] = kwargs.get("endpoint_configuration")
if kwargs.get("generate_cli_skeleton"):
self["generateCliSkeleton"] = kwargs.get(
"generate_cli_skeleton"
)
self["generateCliSkeleton"] = kwargs.get("generate_cli_skeleton")
class APIGatewayBackend(BaseBackend):
@ -1047,16 +1037,21 @@ class APIGatewayBackend(BaseBackend):
except Exception:
return False
def create_domain_name(self, domain_name,
certificate_name=None, tags=None,
certificate_arn=None, certificate_body=None,
certificate_private_key=None,
certificate_chain=None,
regional_certificate_name=None,
regional_certificate_arn=None,
endpoint_configuration=None,
security_policy=None,
generate_cli_skeleton=None):
def create_domain_name(
self,
domain_name,
certificate_name=None,
tags=None,
certificate_arn=None,
certificate_body=None,
certificate_private_key=None,
certificate_chain=None,
regional_certificate_name=None,
regional_certificate_arn=None,
endpoint_configuration=None,
security_policy=None,
generate_cli_skeleton=None,
):
if not domain_name:
raise DomainNameNotFound()
@ -1070,7 +1065,8 @@ class APIGatewayBackend(BaseBackend):
regional_certificate_name=regional_certificate_name,
regional_certificate_arn=regional_certificate_arn,
endpoint_configuration=endpoint_configuration,
tags=tags, security_policy=security_policy,
tags=tags,
security_policy=security_policy,
generate_cli_skeleton=generate_cli_skeleton,
)

View File

@ -542,30 +542,27 @@ class APIGatewayResponse(BaseResponse):
tags = self._get_param("tags")
certificate_arn = self._get_param("certificateArn")
certificate_body = self._get_param("certificateBody")
certificate_private_key = self._get_param(
"certificatePrivateKey"
)
certificate_private_key = self._get_param("certificatePrivateKey")
certificate_chain = self._get_param("certificateChain")
regional_certificate_name = self._get_param(
"regionalCertificateName"
)
regional_certificate_arn = self._get_param(
"regionalCertificateArn"
)
endpoint_configuration = self._get_param(
"endpointConfiguration"
)
regional_certificate_name = self._get_param("regionalCertificateName")
regional_certificate_arn = self._get_param("regionalCertificateArn")
endpoint_configuration = self._get_param("endpointConfiguration")
security_policy = self._get_param("securityPolicy")
generate_cli_skeleton = self._get_param(
"generateCliSkeleton"
)
generate_cli_skeleton = self._get_param("generateCliSkeleton")
domain_name_resp = self.backend.create_domain_name(
domain_name, certificate_name, tags, certificate_arn,
certificate_body, certificate_private_key,
certificate_chain, regional_certificate_name,
regional_certificate_arn, endpoint_configuration,
security_policy, generate_cli_skeleton
domain_name,
certificate_name,
tags,
certificate_arn,
certificate_body,
certificate_private_key,
certificate_chain,
regional_certificate_name,
regional_certificate_arn,
endpoint_configuration,
security_policy,
generate_cli_skeleton,
)
return 200, {}, json.dumps(domain_name_resp)
@ -579,7 +576,7 @@ class APIGatewayResponse(BaseResponse):
url_path_parts = self.path.split("/")
domain_name = url_path_parts[2]
domain_names={}
domain_names = {}
if self.method == "GET":
if domain_name is not None:

View File

@ -1489,8 +1489,11 @@ def test_create_domain_names():
domain_name = "testDomain"
test_certificate_name = "test.certificate"
test_certificate_private_key = "testPrivateKey"
response = client.create_domain_name(domainName=domain_name, certificateName=test_certificate_name,
certificatePrivateKey=test_certificate_private_key)
response = client.create_domain_name(
domainName=domain_name,
certificateName=test_certificate_name,
certificatePrivateKey=test_certificate_private_key,
)
response["domainName"].should.equal(domain_name)
response["certificateName"].should.equal(test_certificate_name)