def to_apns(self): kwargs_alert, kwargs_payload = {}, {} self.content = self.append_data_to_content(self.message) barev_payload = NavalniPayload(content=self.content) kwargs_payload.update({'alert': self.alert, 'sound': self.sound}) kwargs_payload.update({'custom': barev_payload.dict(), 'badge': 1}) main_payload = Payload(**kwargs_payload) return main_payload.dict() if self.as_dict else main_payload
def testPayload(self): # Payload with just alert p = Payload(alert=PayloadAlert('foo')) d = p.dict() self.assertTrue('alert' in d['aps']) self.assertTrue('sound' not in d['aps']) self.assertTrue('badge' not in d['aps']) # Payload with just sound p = Payload(sound="foo") d = p.dict() self.assertTrue('sound' in d['aps']) self.assertTrue('alert' not in d['aps']) self.assertTrue('badge' not in d['aps']) # Payload with just badge p = Payload(badge=1) d = p.dict() self.assertTrue('badge' in d['aps']) self.assertTrue('alert' not in d['aps']) self.assertTrue('sound' not in d['aps']) # Payload with just content_available p = Payload(content_available=True) d = p.dict() self.assertTrue('content-available' in d['aps']) self.assertTrue('badge' not in d['aps']) self.assertTrue('alert' not in d['aps']) self.assertTrue('sound' not in d['aps']) # Payload with just badge removal p = Payload(badge=0) d = p.dict() self.assertTrue('badge' in d['aps']) self.assertTrue('alert' not in d['aps']) self.assertTrue('sound' not in d['aps']) # Test plain string alerts alert_str = 'foobar' p = Payload(alert=alert_str) d = p.dict() self.assertEqual(d['aps']['alert'], alert_str) self.assertTrue('sound' not in d['aps']) self.assertTrue('badge' not in d['aps']) # Test custom payload alert_str = 'foobar' custom_dict = {'foo': 'bar'} p = Payload(alert=alert_str, custom=custom_dict) d = p.dict() self.assertEqual(d, {'foo': 'bar', 'aps': {'alert': 'foobar'}})