Enabled SNS endpoint attr must be lowercased (#3543)

As per sample response:
https://docs.aws.amazon.com/sns/latest/api/API_GetEndpointAttributes.html
This commit is contained in:
Pavel 2020-12-14 17:08:33 +02:00 committed by GitHub
parent 54bd336457
commit c9c30b8286
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 5 deletions

View File

@ -331,8 +331,11 @@ class PlatformEndpoint(BaseModel):
# automatically ensure they exist as well.
if "Token" not in self.attributes:
self.attributes["Token"] = self.token
if "Enabled" not in self.attributes:
self.attributes["Enabled"] = "True"
if "Enabled" in self.attributes:
enabled = self.attributes["Enabled"]
self.attributes["Enabled"] = enabled.lower()
else:
self.attributes["Enabled"] = "true"
@property
def enabled(self):
@ -594,6 +597,8 @@ class SNSBackend(BaseBackend):
def set_endpoint_attributes(self, arn, attributes):
endpoint = self.get_endpoint(arn)
if "Enabled" in attributes:
attributes["Enabled"] = attributes["Enabled"].lower()
endpoint.attributes.update(attributes)
return endpoint

View File

@ -189,7 +189,7 @@ def test_get_endpoint_attributes():
platform_application_arn=application_arn,
token="some_unique_id",
custom_user_data="some user data",
attributes={"Enabled": False, "CustomUserData": "some data"},
attributes={"CustomUserData": "some data"},
)
endpoint_arn = endpoint["CreatePlatformEndpointResponse"][
"CreatePlatformEndpointResult"
@ -199,7 +199,7 @@ def test_get_endpoint_attributes():
"GetEndpointAttributesResponse"
]["GetEndpointAttributesResult"]["Attributes"]
attributes.should.equal(
{"Token": "some_unique_id", "Enabled": "False", "CustomUserData": "some data"}
{"Token": "some_unique_id", "Enabled": "true", "CustomUserData": "some data"}
)
@ -236,7 +236,7 @@ def test_set_endpoint_attributes():
"GetEndpointAttributesResponse"
]["GetEndpointAttributesResult"]["Attributes"]
attributes.should.equal(
{"Token": "some_unique_id", "Enabled": "False", "CustomUserData": "other data"}
{"Token": "some_unique_id", "Enabled": "false", "CustomUserData": "other data"}
)