Fix SNS application endpoint to match AWS return format (#763)

This commit is contained in:
Mike Pappas 2016-11-11 17:01:47 -05:00 committed by Steve Pulec
parent 1c61498cc8
commit 4942e74ab1
3 changed files with 13 additions and 0 deletions

View File

@ -120,6 +120,15 @@ class PlatformEndpoint(object):
self.attributes = attributes self.attributes = attributes
self.id = uuid.uuid4() self.id = uuid.uuid4()
self.messages = OrderedDict() self.messages = OrderedDict()
self.__fixup_attributes()
def __fixup_attributes(self):
# When AWS returns the attributes dict, it always contains these two elements, so we need to
# automatically ensure they exist as well.
if not 'Token' in self.attributes:
self.attributes['Token'] = self.token
if not 'Enabled' in self.attributes:
self.attributes['Enabled'] = True
@property @property
def arn(self): def arn(self):

View File

@ -181,6 +181,7 @@ def test_get_endpoint_attributes():
attributes = conn.get_endpoint_attributes(endpoint_arn)['GetEndpointAttributesResponse']['GetEndpointAttributesResult']['Attributes'] attributes = conn.get_endpoint_attributes(endpoint_arn)['GetEndpointAttributesResponse']['GetEndpointAttributesResult']['Attributes']
attributes.should.equal({ attributes.should.equal({
"Token": "some_unique_id",
"Enabled": 'False', "Enabled": 'False',
"CustomUserData": "some data", "CustomUserData": "some data",
}) })
@ -217,6 +218,7 @@ def test_set_endpoint_attributes():
) )
attributes = conn.get_endpoint_attributes(endpoint_arn)['GetEndpointAttributesResponse']['GetEndpointAttributesResult']['Attributes'] attributes = conn.get_endpoint_attributes(endpoint_arn)['GetEndpointAttributesResponse']['GetEndpointAttributesResult']['Attributes']
attributes.should.equal({ attributes.should.equal({
"Token": "some_unique_id",
"Enabled": 'False', "Enabled": 'False',
"CustomUserData": "other data", "CustomUserData": "other data",
}) })

View File

@ -188,6 +188,7 @@ def test_get_endpoint_attributes():
attributes = conn.get_endpoint_attributes(EndpointArn=endpoint_arn)['Attributes'] attributes = conn.get_endpoint_attributes(EndpointArn=endpoint_arn)['Attributes']
attributes.should.equal({ attributes.should.equal({
"Token": "some_unique_id",
"Enabled": 'false', "Enabled": 'false',
"CustomUserData": "some data", "CustomUserData": "some data",
}) })
@ -225,6 +226,7 @@ def test_set_endpoint_attributes():
) )
attributes = conn.get_endpoint_attributes(EndpointArn=endpoint_arn)['Attributes'] attributes = conn.get_endpoint_attributes(EndpointArn=endpoint_arn)['Attributes']
attributes.should.equal({ attributes.should.equal({
"Token": "some_unique_id",
"Enabled": 'false', "Enabled": 'false',
"CustomUserData": "other data", "CustomUserData": "other data",
}) })