Add APNS feedback server tests.

This commit is contained in:
Umair Khan
2016-08-04 16:15:49 +05:00
committed by Tim Abbott
parent 33450d1a0b
commit d33fc0046f
2 changed files with 15 additions and 2 deletions

View File

@@ -178,8 +178,8 @@ def check_apns_feedback():
since_date = timestamp_to_datetime(since)
logging.info("Found unavailable token %s, unavailable since %s" % (token, since_date))
PushDeviceToken.objects.filter(token=hex_to_b64(token), last_updates__lt=since_date,
type=PushDeviceToken.APNS).delete()
PushDeviceToken.objects.filter(token=hex_to_b64(token), last_updated__lt=since_date,
kind=PushDeviceToken.APNS).delete()
logging.info("Finished checking feedback for stale tokens")

View File

@@ -1,4 +1,5 @@
import mock
import time
from typing import Any
from django.test import TestCase
@@ -126,3 +127,15 @@ class SendNotificationTest(PushNotificationTest):
apn.connection = None
apn.dbx_connection = None
apn.send_apple_push_notification(self.user_profile, "test alert")
class APNsFeedbackTest(PushNotificationTest):
@mock.patch('apns.FeedbackConnection.items')
def test_feedback(self, mock_items):
update_time = apn.timestamp_to_datetime(int(time.time()) - 10000)
PushDeviceToken.objects.all().update(last_updated=update_time)
mock_items.return_value = [
('aaaa', int(time.time())),
]
self.assertEqual(PushDeviceToken.objects.all().count(), 2)
apn.check_apns_feedback()
self.assertEqual(PushDeviceToken.objects.all().count(), 1)