def test_400(self):
     g = Sender(api_key='fake', url='http://localhost:9000/400/')
     ids = ['ABC123']
     n = {'icon': 1}  # bad payload!
     m = Message(registration_ids=ids, notification=n)
     send = lambda: g.send(m)
     self.assertRaises(GCMException, send)
 def test_invalid_api_key(self):
     s = Sender(api_key='fake', url='http://localhost:9000/401/')
     ids = ['ABC123', 'DEF456']
     data = {'score': 5.0}
     m = Message(registration_ids=ids, data=data)
     send = lambda: s.send(m)
     self.assertRaises(GCMException, send)
 def test_200(self):
     g = Sender(api_key='fake', url='http://localhost:9000/200/')
     ids = ['ABC123']
     d = {'score': 5.0}
     m = Message(registration_ids=ids, data=d)
     r = g.send(m)
     self.assertEqual(r.get_retry_message(), None)
     self.assertEqual(len(r.success), 1)
 def test_501(self):
     g = Sender(api_key='fake', url='http://localhost:9000/501/')
     ids = ['ABC123']
     d = {'score': 5.0}
     m = Message(registration_ids=ids, data=d)
     r = g.send(m)
     self.assertEqual(int(r.backoff), 5)
     retry_msg = r.get_retry_message()
     self.assertNotEqual(retry_msg, None)
     self.assertEqual(m.body, retry_msg.body)
     self.assertNotEqual(id(m), id(retry_msg))
 def test_200_2(self):
     g = Sender(api_key='fake', url='http://localhost:9000/200_2/')
     ids = ['oldToken123', 'ABC123', 'CBA123', '123ABC']
     d = {'score': 5.0}
     m = Message(registration_ids=ids, data=d)
     r = g.send(m)
     self.assertNotEqual(r.get_retry_message(), None)
     self.assertEqual(len(r.success), 1)
     self.assertEqual(r.canonicals['oldToken123'], 'newToken123')
     self.assertEqual(len(r.unavailables), 1)
     self.assertEqual(len(r.unregistered), 1)
     self.assertEqual(len(r.failure), 1)
     # test network issues
     g.url = 'http://localhost:1111'  # invalid
     send = lambda: g.send(m)
     self.assertRaises(Exception, send)
     g.api_key = None
     self.assertRaises(ValueError, send)