def test_parse_error_msg_success(self): user = UserFactory.create() attempt = SoftwareSecurePhotoVerification(user=user) attempt.status = 'denied' attempt.error_msg = '[{"photoIdReasons": ["Not provided"]}]' parsed_error_msg = attempt.parsed_error_msg() self.assertEquals("No photo ID was provided.", parsed_error_msg)
def test_parse_error_msg_success(self): user = UserFactory.create() attempt = SoftwareSecurePhotoVerification(user=user) attempt.status = 'denied' attempt.error_msg = '[{"photoIdReasons": ["Not provided"]}]' parsed_error_msg = attempt.parsed_error_msg() self.assertEquals("No photo ID was provided.", parsed_error_msg)
def test_user_status(self): # test for correct status when no error returned user = UserFactory.create() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('none', '')) # test for when one has been created attempt = SoftwareSecurePhotoVerification(user=user) attempt.status = 'approved' attempt.save() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('approved', '')) # create another one for the same user, make sure the right one is # returned attempt2 = SoftwareSecurePhotoVerification(user=user) attempt2.status = 'denied' attempt2.error_msg = '[{"photoIdReasons": ["Not provided"]}]' attempt2.save() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('approved', '')) # now delete the first one and verify that the denial is being handled # properly attempt.delete() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('must_reverify', "No photo ID was provided."))
def test_user_status(self): # test for correct status when no error returned user = UserFactory.create() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('none', '')) # test for when one has been created attempt = SoftwareSecurePhotoVerification(user=user) attempt.status = 'approved' attempt.save() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('approved', '')) # create another one for the same user, make sure the right one is # returned attempt2 = SoftwareSecurePhotoVerification(user=user) attempt2.status = 'denied' attempt2.error_msg = '[{"photoIdReasons": ["Not provided"]}]' attempt2.save() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('approved', '')) # now delete the first one and verify that the denial is being handled # properly attempt.delete() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('must_reverify', "No photo ID was provided.")) # test for correct status for reverifications window = MidcourseReverificationWindowFactory() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ('must_reverify', '')) reverify_attempt = SoftwareSecurePhotoVerification(user=user, window=window) reverify_attempt.status = 'approved' reverify_attempt.save() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ('approved', '')) reverify_attempt.status = 'denied' reverify_attempt.save() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ('denied', '')) reverify_attempt.status = 'approved' # pylint: disable=protected-access reverify_attempt.created_at = SoftwareSecurePhotoVerification._earliest_allowed_date() + timedelta(days=-1) reverify_attempt.save() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) message = 'Your {platform_name} verification has expired.'.format(platform_name=settings.PLATFORM_NAME) self.assertEquals(reverify_status, ('expired', message))
def test_user_status(self): # test for correct status when no error returned user = UserFactory.create() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('none', '')) # test for when one has been created attempt = SoftwareSecurePhotoVerification(user=user) attempt.status = 'approved' attempt.save() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('approved', '')) # create another one for the same user, make sure the right one is # returned attempt2 = SoftwareSecurePhotoVerification(user=user) attempt2.status = 'denied' attempt2.error_msg = '[{"photoIdReasons": ["Not provided"]}]' attempt2.save() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('approved', '')) # now delete the first one and verify that the denial is being handled # properly attempt.delete() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ('must_reverify', "No photo ID was provided.")) # test for correct status for reverifications window = MidcourseReverificationWindowFactory() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ('must_reverify', '')) reverify_attempt = SoftwareSecurePhotoVerification(user=user, window=window) reverify_attempt.status = 'approved' reverify_attempt.save() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ('approved', '')) reverify_attempt.status = 'denied' reverify_attempt.save() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ('denied', '')) reverify_attempt.status = 'approved' # pylint: disable=protected-access reverify_attempt.created_at = SoftwareSecurePhotoVerification._earliest_allowed_date() + timedelta(days=-1) reverify_attempt.save() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) message = 'Your {platform_name} verification has expired.'.format(platform_name=settings.PLATFORM_NAME) self.assertEquals(reverify_status, ('expired', message))
def test_parse_error_msg_failure(self): user = UserFactory.create() attempt = SoftwareSecurePhotoVerification(user=user) attempt.status = 'denied' # when we can't parse into json bad_messages = { 'Not Provided', '[{"IdReasons": ["Not provided"]}]', '{"IdReasons": ["Not provided"]}', u'[{"ïḋṚëäṡöṅṡ": ["Ⓝⓞⓣ ⓟⓡⓞⓥⓘⓓⓔⓓ "]}]', } for msg in bad_messages: attempt.error_msg = msg parsed_error_msg = attempt.parsed_error_msg() self.assertEquals(parsed_error_msg, "There was an error verifying your ID photos.")
def test_parse_error_msg_failure(self): user = UserFactory.create() attempt = SoftwareSecurePhotoVerification(user=user) attempt.status = 'denied' # when we can't parse into json bad_messages = { 'Not Provided', '[{"IdReasons": ["Not provided"]}]', '{"IdReasons": ["Not provided"]}', u'[{"ïḋṚëäṡöṅṡ": ["Ⓝⓞⓣ ⓟⓡⓞⓥⓘⓓⓔⓓ "]}]', } for msg in bad_messages: attempt.error_msg = msg parsed_error_msg = attempt.parsed_error_msg() self.assertEquals(parsed_error_msg, "There was an error verifying your ID photos.")
def test_user_status(self): # test for correct status when no error returned user = UserFactory.create() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ("none", "")) # test for when one has been created attempt = SoftwareSecurePhotoVerification(user=user) attempt.status = "approved" attempt.save() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ("approved", "")) # create another one for the same user, make sure the right one is # returned attempt2 = SoftwareSecurePhotoVerification(user=user) attempt2.status = "denied" attempt2.error_msg = '[{"photoIdReasons": ["Not provided"]}]' attempt2.save() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ("approved", "")) # now delete the first one and verify that the denial is being handled # properly attempt.delete() status = SoftwareSecurePhotoVerification.user_status(user) self.assertEquals(status, ("must_reverify", "No photo ID was provided.")) # test for correct status for reverifications window = MidcourseReverificationWindowFactory() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ("must_reverify", "")) reverify_attempt = SoftwareSecurePhotoVerification(user=user, window=window) reverify_attempt.status = "approved" reverify_attempt.save() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ("approved", "")) reverify_attempt.status = "denied" reverify_attempt.save() reverify_status = SoftwareSecurePhotoVerification.user_status(user=user, window=window) self.assertEquals(reverify_status, ("denied", ""))