Пример #1
0
    def assertInputOutput(self, get, code=200, response='id=123'):
        request = HttpRequest()
        request.method = 'GET'
        request.GET = get
        # register device
        with patch('urllib2.urlopen') as urlopen:
            urlopen.return_value = make_fake_urlopen(
                                     response=response)(request)
            response = views.set_registration_id(request)

        self.assertIsInstance(response, HttpResponse)
        self.assertEqual(response.status_code, code)
Пример #2
0
    def test_register_device(self):
        # Create new device
        request = HttpRequest()
        request.method = 'GET'
        request.GET = {
                       'device_id': 'devid_001',
                       'registration_id': 'reg_id_001'}
        # register device
        with patch('urllib2.urlopen') as urlopen:
            urlopen.return_value = make_fake_urlopen(
                                     response='id=123')(request)
            response = views.set_registration_id(request)

        self.assertIsInstance(response, HttpResponse)
        self.assertEqual(response.status_code, 200)

        ad = AndroidDevice.objects.get(device_id='devid_001')
        self.assertEqual(ad.registration_id, '')

        # wait to the time to send a token
        task = response.task_registration
        res = task.wait()

        adt = AndroidDeviceToken.objects.get(registration_id='reg_id_001')
        self.assertTrue(len(adt.token) == REGISTRATION_TOKEN_LEN)

        # check token
        request = HttpRequest()
        request.method = 'GET'
        request.GET = {
                       'device_id': 'devid_001',
                       'registration_token': adt.token}

        response = views.check_token(request)
        self.assertEqual(response.status_code, 200)

        # check if has been set registration_id
        ad = AndroidDevice.objects.get(registration_id='reg_id_001')
        self.assertEqual('devid_001', ad.device_id)

        ##############################
        # update registration_id

        # Create new device
        request = HttpRequest()
        request.method = 'GET'
        request.GET = {
                       'device_id': 'devid_001',
                       'registration_id': 'reg_id_002'}
        # register device
        with patch('urllib2.urlopen') as urlopen:
            urlopen.return_value = make_fake_urlopen(
                                         response='id=1234')(request)
            response = views.set_registration_id(request)

        self.assertIsInstance(response, HttpResponse)
        self.assertEqual(response.status_code, 200)

        ad = AndroidDevice.objects.get(device_id='devid_001')
        self.assertEqual(ad.registration_id, 'reg_id_001')

        # wait to the time to send a token
        task = response.task_registration
        task.wait()

        adt = AndroidDeviceToken.objects.get(registration_id='reg_id_002')
        self.assertTrue(len(adt.token) == REGISTRATION_TOKEN_LEN)

        # check token
        request = HttpRequest()
        request.method = 'GET'
        request.GET = {
                       'device_id': 'devid_001',
                       'registration_token': adt.token}

        response = views.check_token(request)
        self.assertEqual(response.status_code, 200)

        # check if has been set registration_id
        ad = AndroidDevice.objects.get(registration_id='reg_id_002')
        self.assertEqual('devid_001', ad.device_id)