def test_ping_fcm_unsupported(self): client = MobileClient(parent=ndb.Key(Account, 'user_id'), user_id='user_id', messaging_id='token', client_type=-1, device_uuid='uuid', display_name='Phone') with self.assertRaises(Exception, msg='Unsupported FCM client type: -1'): TBANSHelper._ping_client(client)
def test_ping_fcm_fail(self): client = MobileClient(parent=ndb.Key(Account, 'user_id'), user_id='user_id', messaging_id='token', client_type=ClientType.OS_IOS, device_uuid='uuid', display_name='Phone') batch_response = messaging.BatchResponse( [messaging.SendResponse(None, FirebaseError(500, 'testing'))]) with patch.object(FCMRequest, 'send', return_value=batch_response) as mock_send: success = TBANSHelper._ping_client(client) mock_send.assert_called_once() self.assertFalse(success)
def test_ping_android(self): client_type = ClientType.OS_ANDROID messaging_id = 'token' client = MobileClient(parent=ndb.Key(Account, 'user_id'), user_id='user_id', messaging_id=messaging_id, client_type=client_type, device_uuid='uuid', display_name='Phone') from notifications.ping import PingNotification with patch.object(PingNotification, 'send') as mock_send: success = TBANSHelper._ping_client(client) mock_send.assert_called_once_with({client_type: [messaging_id]}) self.assertTrue(success)