Skip to content

Commit dd2685f

Browse files
committed
Remove GCMNoCollapseKeyException
It turned out that collapse key is not a requirement for messages with TTL at least since Oct, 2012. See https://plus.google.com/u/0/104524825852741167674/posts/AEpCusdNZY9 for details.
1 parent f4dc75b commit dd2685f

2 files changed

Lines changed: 0 additions & 8 deletions

File tree

gcm/gcm.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ class GCMMalformedJsonException(GCMException): pass
1313
class GCMConnectionException(GCMException): pass
1414
class GCMAuthenticationException(GCMException): pass
1515
class GCMTooManyRegIdsException(GCMException): pass
16-
class GCMNoCollapseKeyException(GCMException): pass
1716
class GCMInvalidTtlException(GCMException): pass
1817

1918
# Exceptions from Google responses
@@ -80,7 +79,6 @@ def construct_payload(self, registration_ids, data=None, collapse_key=None,
8079
8180
:return constructed dict or JSON payload
8281
:raises GCMInvalidTtlException: if time_to_live is invalid
83-
:raises GCMNoCollapseKeyException: if collapse_key is missing when time_to_live is used
8482
"""
8583

8684
if time_to_live:
@@ -103,8 +101,6 @@ def construct_payload(self, registration_ids, data=None, collapse_key=None,
103101

104102
if time_to_live:
105103
payload['time_to_live'] = time_to_live
106-
if collapse_key is None:
107-
raise GCMNoCollapseKeyException("collapse_key is required when time_to_live is provided")
108104

109105
if collapse_key:
110106
payload['collapse_key'] = collapse_key

gcm/test.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,6 @@ def test_construct_payload(self):
6262
for arg in ['registration_ids', 'data', 'collapse_key', 'delay_while_idle', 'time_to_live']:
6363
self.assertIn(arg, payload)
6464

65-
def test_require_collapse_key(self):
66-
with self.assertRaises(GCMNoCollapseKeyException):
67-
self.gcm.construct_payload(registration_ids='1234', data=self.data, time_to_live=3600)
68-
6965
def test_json_payload(self):
7066
reg_ids = ['12', '145', '56']
7167
json_payload = self.gcm.construct_payload(registration_ids=reg_ids, data=self.data)

0 commit comments

Comments
 (0)