def test_fine_with_multiple_verification_records(self):
     """
     Testing there are no issues with excluding learners with multiple sso verifications
     """
     SSOVerificationFactory(
         status='approved',
         user=self.user1,
     )
     SSOVerificationFactory(
         status='approved',
         user=self.user1,
     )
     assert SSOVerification.objects.count() == 2
     call_command('backfill_sso_verifications_for_old_account_links',
                  '--provider-slug', self.provider.provider_id)
     assert SSOVerification.objects.count() == 2
コード例 #2
0
 def _construct_id_verification(self, user):
     """
     Helper function to create the SSO verified record for the user
     so that the user is ID Verified
     """
     SSOVerificationFactory(
         identity_provider_slug=self.org_key_list[0],
         user=user,
     )
     return IDVerificationService.user_status(user)
コード例 #3
0
ファイル: test_views.py プロジェクト: sliva/edx-platform
    def test_multiple_verification_types(self):
        self.manual_verification = ManualVerification.objects.create(  # lint-amnesty, pylint: disable=attribute-defined-outside-init
            user=self.user,
            status='approved',
            reason='testing')
        self.sso_verification = SSOVerificationFactory(user=self.user,
                                                       status='approved')  # lint-amnesty, pylint: disable=attribute-defined-outside-init
        self.photo_verification.error_msg = 'tested_error'
        self.photo_verification.error_code = 'error_code'
        self.photo_verification.status = 'denied'
        self.photo_verification.save()
        response = self.client.get(self.path)
        self.assertEqual(response.status_code, 200)
        expected_expires = self.CREATED_AT + datetime.timedelta(
            settings.VERIFY_STUDENT['DAYS_GOOD_FOR'])

        expected = [
            {
                'type': 'Software Secure',
                'status': self.photo_verification.status,
                'expiration_datetime':
                '{}Z'.format(expected_expires.isoformat()),
                'message': self.photo_verification.error_msg,
                'updated_at': '{}Z'.format(self.CREATED_AT.isoformat()),
                'receipt_id': self.photo_verification.receipt_id
            },
            {
                'type': 'SSO',
                'status': self.sso_verification.status,
                'expiration_datetime':
                '{}Z'.format(expected_expires.isoformat()),
                'message': '',
                'updated_at': '{}Z'.format(self.CREATED_AT.isoformat()),
                'receipt_id': None,
            },
            {
                'type': 'Manual',
                'status': self.manual_verification.status,
                'expiration_datetime':
                '{}Z'.format(expected_expires.isoformat()),
                'message': self.manual_verification.reason,
                'updated_at': '{}Z'.format(self.CREATED_AT.isoformat()),
                'receipt_id': None,
            },
        ]
        self.assertEqual(json.loads(response.content.decode('utf-8')),
                         expected)
コード例 #4
0
ファイル: test_views.py プロジェクト: rick0ne/edx-platform
    def test_multiple_verification_instances(self):
        self.sso_verification = SSOVerificationFactory(user=self.user,
                                                       status='approved')
        second_ss_photo_verification = SoftwareSecurePhotoVerification.objects.create(
            user=self.user,
            status='denied',
            error_msg='test error message for denial',
            error_code='plain_code')
        response = self.client.get(self.path)
        self.assertEqual(response.status_code, 200)
        expected_expires = self.CREATED_AT + datetime.timedelta(
            settings.VERIFY_STUDENT['DAYS_GOOD_FOR'])

        expected = [
            {
                'type': 'Software Secure',
                'status': self.photo_verification.status,
                'expiration_datetime':
                '{}Z'.format(expected_expires.isoformat()),
                'message': self.photo_verification.error_msg,
                'updated_at': '{}Z'.format(self.CREATED_AT.isoformat()),
                'receipt_id': self.photo_verification.receipt_id,
            },
            {
                'type': 'Software Secure',
                'status': second_ss_photo_verification.status,
                'expiration_datetime':
                '{}Z'.format(expected_expires.isoformat()),
                'message': second_ss_photo_verification.error_msg,
                'updated_at': '{}Z'.format(self.CREATED_AT.isoformat()),
                'receipt_id': second_ss_photo_verification.receipt_id,
            },
            {
                'type': 'SSO',
                'status': self.sso_verification.status,
                'expiration_datetime':
                '{}Z'.format(expected_expires.isoformat()),
                'message': '',
                'updated_at': '{}Z'.format(self.CREATED_AT.isoformat()),
                'receipt_id': None,
            },
        ]
        self.assertEqual(json.loads(response.content.decode('utf-8')),
                         expected)
コード例 #5
0
    def test_multiple_verification_instances(self):
        self.sso_verification = SSOVerificationFactory(user=self.user,
                                                       status='approved')  # lint-amnesty, pylint: disable=attribute-defined-outside-init
        second_ss_photo_verification = SoftwareSecurePhotoVerification.objects.create(
            user=self.user,
            status='denied',
            error_msg='test error message for denial',
            error_code='plain_code')
        response = self.client.get(self.path)
        assert response.status_code == 200
        expected_expires = self.CREATED_AT + datetime.timedelta(
            settings.VERIFY_STUDENT['DAYS_GOOD_FOR'])

        expected = [
            {
                'type': 'Software Secure',
                'status': self.photo_verification.status,
                'expiration_datetime': f'{expected_expires.isoformat()}Z',
                'message': self.photo_verification.error_msg,
                'updated_at': f'{self.CREATED_AT.isoformat()}Z',
                'receipt_id': self.photo_verification.receipt_id,
            },
            {
                'type': 'Software Secure',
                'status': second_ss_photo_verification.status,
                'expiration_datetime': f'{expected_expires.isoformat()}Z',
                'message': second_ss_photo_verification.error_msg,
                'updated_at': f'{self.CREATED_AT.isoformat()}Z',
                'receipt_id': second_ss_photo_verification.receipt_id,
            },
            {
                'type': 'SSO',
                'status': self.sso_verification.status,
                'expiration_datetime': f'{expected_expires.isoformat()}Z',
                'message': '',
                'updated_at': f'{self.CREATED_AT.isoformat()}Z',
                'receipt_id': None,
            },
        ]
        assert json.loads(response.content.decode('utf-8')) == expected