示例#1
0
 def test_not_retrieving_same_forms_repeatedly(self, mock_ona_form_submissions,
                                               mock_get_form_definition):
     # The test DATA fixture already contains the form def json
     submission = json.loads(USER_CODE_DATA)
     mock_ona_form_submissions.return_value = [submission]
     verify_deviceid.run()
     self.assertEqual(1, FormSubmission.objects.count())
示例#2
0
 def test_not_retrieving_same_forms_repeatedly(self,
                                               mock_ona_form_submissions,
                                               mock_get_form_definition):
     # The test DATA fixture already contains the form def json
     submission = json.loads(USER_CODE_DATA)
     mock_ona_form_submissions.return_value = [submission]
     verify_deviceid.run()
     self.assertEqual(1, FormSubmission.objects.count())
示例#3
0
 def test_verify_deviceid_invalid_code(self, mock_logger, mock_ona_form_submissions,
                                       mock_get_form_definition):
     self.assertFalse(FormSubmission.objects.all())
     # The test DATA fixture already contains the form def json
     submission = json.loads(USER_CODE_DATA)
     submission['qr_code'] = 'foobar'
     mock_ona_form_submissions.return_value = [submission]
     verify_deviceid.run()
     self.assertEqual(0, FormSubmission.objects.count())
     self.assertTrue(mock_logger.error.called)
示例#4
0
 def test_verify_deviceid_invalid_code(self, mock_logger,
                                       mock_ona_form_submissions,
                                       mock_get_form_definition):
     self.assertFalse(FormSubmission.objects.all())
     # The test DATA fixture already contains the form def json
     submission = json.loads(USER_CODE_DATA)
     submission['qr_code'] = 'foobar'
     mock_ona_form_submissions.return_value = [submission]
     verify_deviceid.run()
     self.assertEqual(0, FormSubmission.objects.count())
     self.assertTrue(mock_logger.error.called)
示例#5
0
 def test_update_deviceid(self, mock_ona_form_submissions, mock_get_form_definition):
     # A later scan can update the user/device connection
     user2 = CtsUserFactory(code='test2', deviceid='device_foo')
     user3 = CtsUserFactory(code='test3', deviceid='device_foo')
     submission = json.loads(USER_CODE_DATA)
     mock_ona_form_submissions.return_value = [submission]
     verify_deviceid.run()
     # "new" user now has device
     self.assertEqual('device_foo', CtsUser.objects.get(pk=self.user.pk).deviceid)
     # and previous users do not
     self.assertEqual('', CtsUser.objects.get(pk=user2.pk).deviceid)
     self.assertEqual('', CtsUser.objects.get(pk=user3.pk).deviceid)
示例#6
0
 def test_update_deviceid(self, mock_ona_form_submissions,
                          mock_get_form_definition):
     # A later scan can update the user/device connection
     user2 = CtsUserFactory(code='test2', deviceid='device_foo')
     user3 = CtsUserFactory(code='test3', deviceid='device_foo')
     submission = json.loads(USER_CODE_DATA)
     mock_ona_form_submissions.return_value = [submission]
     verify_deviceid.run()
     # "new" user now has device
     self.assertEqual('device_foo',
                      CtsUser.objects.get(pk=self.user.pk).deviceid)
     # and previous users do not
     self.assertEqual('', CtsUser.objects.get(pk=user2.pk).deviceid)
     self.assertEqual('', CtsUser.objects.get(pk=user3.pk).deviceid)
示例#7
0
 def test_verify_deviceid(self, mock_ona_form_submissions, mock_get_form_definition):
     self.assertEqual('', self.user.deviceid)
     self.assertFalse(FormSubmission.objects.all())
     submission = json.loads(USER_CODE_DATA)
     mock_ona_form_submissions.return_value = [submission]
     verify_deviceid.run()
     self.assertEqual(1, FormSubmission.objects.count())
     # Passed minimum as the 'since' parm
     mock_ona_form_submissions.assert_called_with(ANY, 111, since=minimum_aware_datetime())
     # Only add the record once
     verify_deviceid.run()
     self.assertEqual(1, FormSubmission.objects.count())
     # passed the previous submission time as the 'since' parm when fetching forms
     subtime = OnaItemBase.parse_form_datetime(submission['_submission_time'])
     mock_ona_form_submissions.assert_called_with(ANY, 111, since=subtime)
     self.assertEqual('device_foo', CtsUser.objects.get(pk=self.user.pk).deviceid)
示例#8
0
 def test_verify_deviceid(self, mock_ona_form_submissions,
                          mock_get_form_definition):
     self.assertEqual('', self.user.deviceid)
     self.assertFalse(FormSubmission.objects.all())
     submission = json.loads(USER_CODE_DATA)
     mock_ona_form_submissions.return_value = [submission]
     verify_deviceid.run()
     self.assertEqual(1, FormSubmission.objects.count())
     # Passed minimum as the 'since' parm
     mock_ona_form_submissions.assert_called_with(
         ANY, 111, since=minimum_aware_datetime())
     # Only add the record once
     verify_deviceid.run()
     self.assertEqual(1, FormSubmission.objects.count())
     # passed the previous submission time as the 'since' parm when fetching forms
     subtime = OnaItemBase.parse_form_datetime(
         submission['_submission_time'])
     mock_ona_form_submissions.assert_called_with(ANY, 111, since=subtime)
     self.assertEqual('device_foo',
                      CtsUser.objects.get(pk=self.user.pk).deviceid)
示例#9
0
 def test_bad_form_id(self, mock_logger, mock_ona_form_submissions,
                      mock_get_form_definition):
     mock_get_form_definition.return_value = None
     verify_deviceid.run()
     self.assertIn(settings.ONA_DEVICEID_VERIFICATION_FORM_ID, bad_form_ids)
     self.assertTrue(mock_logger.error.called)
示例#10
0
 def test_bad_form_id(self, mock_logger, mock_ona_form_submissions,
                      mock_get_form_definition):
     mock_get_form_definition.return_value = None
     verify_deviceid.run()
     self.assertIn(settings.ONA_DEVICEID_VERIFICATION_FORM_ID, bad_form_ids)
     self.assertTrue(mock_logger.error.called)