本文整理汇总了Python中gcm.GCM.handle_gcm_result方法的典型用法代码示例。如果您正苦于以下问题:Python GCM.handle_gcm_result方法的具体用法?Python GCM.handle_gcm_result怎么用?Python GCM.handle_gcm_result使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gcm.GCM
的用法示例。
在下文中一共展示了GCM.handle_gcm_result方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_canonical_ids
# 需要导入模块: from gcm import GCM [as 别名]
# 或者: from gcm.GCM import handle_gcm_result [as 别名]
def test_canonical_ids(self):
logging.root.setLevel(logging.DEBUG)
mock_dao = MockDao()
mock_helper = MockGcmHelper()
gcm = GCM(mock_dao, mock_helper)
gcm.tokens = [GcmToken(gcm_token='0'), GcmToken(gcm_token='1'), GcmToken(gcm_token='2'),
GcmToken(gcm_token='3'), GcmToken(gcm_token='4'), GcmToken(gcm_token='5'),
GcmToken(gcm_token='6'), GcmToken(gcm_token='7')]
message = 'testing testing 1 2 3'
response = {'multicast_id': 666, 'success': 4, 'canonical_ids': 2,
'results': [
{'error': 'something else'},
{'message_id': '11'}, # success
{'message_id': '22', 'registration_id': '3'}, # message with already existing canonical id
{'message_id': '33'}, # canonical id for previous
{'message_id': '44', 'registration_id': '123'}, # totally new canonical id
{'error': 'NotRegistered'}, # not registered
{'error': 'Unavailable'},
{'error': 'something else'}
]}
js = json.dumps(response)
response_json = json.loads(js)
results = response_json["results"]
index = -1
for result in results:
index += 1
token = gcm.tokens[index]
gcm.handle_gcm_result(result, token, message)
self.assertEqual(2, len(mock_dao.removed_tokens))
self.assertEqual('2', mock_dao.removed_tokens[0].gcm_token)
self.assertEqual('5', mock_dao.removed_tokens[1].gcm_token)
self.assertEqual(1, len(mock_dao.updated_tokens))
self.assertEqual('4', mock_dao.updated_tokens[0][0].gcm_token)
self.assertEqual('123', mock_dao.updated_tokens[0][1])
self.assertEqual(1, len(mock_helper.sent_tokens))
self.assertEqual('6', mock_helper.sent_tokens[0][0].gcm_token)
self.assertEqual(message, mock_helper.sent_tokens[0][1])