Пример #1
0
 def _invalidate_certificate(self, certificate):
     """ Dry method to mark certificate as invalid. """
     CertificateInvalidationFactory.create(
         generated_certificate=certificate,
         invalidated_by=self.support,
         active=True)
     # Invalidate user certificate
     certificate.invalidate()
     assert not certificate.is_valid()
Пример #2
0
 def _invalidate_certificate(self, certificate, active):
     """ Dry method to mark certificate as invalid. """
     CertificateInvalidationFactory.create(
         generated_certificate=certificate,
         invalidated_by=self.global_staff,
         active=active)
     # Invalidate user certificate
     certificate.invalidate()
     self.assertFalse(certificate.is_valid())
Пример #3
0
 def _invalidate_certificate(self, certificate, active):
     """ Dry method to mark certificate as invalid. """
     CertificateInvalidationFactory.create(
         generated_certificate=certificate,
         invalidated_by=self.global_staff,
         active=active
     )
     # Invalidate user certificate
     certificate.invalidate()
     self.assertFalse(certificate.is_valid())
Пример #4
0
    def test_method_with_all_statues(self, status):
        """ Verify method return True if certificate has valid status but it is
        marked as invalid in CertificateInvalidation table. """

        certificate = self._generate_cert(status)
        CertificateInvalidationFactory.create(
            generated_certificate=certificate,
            invalidated_by=self.global_staff,
            active=True)
        # Also check query count for 'is_certificate_invalid' method.
        with self.assertNumQueries(2):
            assert is_certificate_invalidated(self.student, self.course.id)
Пример #5
0
    def test_method_with_all_statues(self, status):
        """ Verify method return True if certificate has valid status but it is
        marked as invalid in CertificateInvalidation table. """

        certificate = self._generate_cert(status)
        CertificateInvalidationFactory.create(
            generated_certificate=certificate,
            invalidated_by=self.global_staff,
            active=True
        )
        # Also check query count for 'is_certificate_invalid' method.
        with self.assertNumQueries(2):
            self.assertTrue(
                certs_api.is_certificate_invalid(self.student, self.course.id)
            )
Пример #6
0
    def test_can_be_added_to_allowlist_certificate_invalidated(self):
        """
        Test to verify that a learner will be rejected from the allowlist if they currently appear on the certificate
        invalidation list.
        """
        certificate = GeneratedCertificateFactory.create(
            user=self.user,
            course_id=self.course_run_key,
            status=CertificateStatuses.unavailable,
            mode='verified')
        CertificateInvalidationFactory.create(
            generated_certificate=certificate,
            invalidated_by=self.global_staff,
            active=True)

        assert not can_be_added_to_allowlist(self.user, self.course_run_key)
    def test_can_generate_invalidated(self):
        """
        Test handling when user is on the invalidate list
        """
        u = UserFactory()
        cr = CourseFactory()
        key = cr.id  # pylint: disable=no-member
        CourseEnrollmentFactory(
            user=u,
            course_id=key,
            is_active=True,
            mode="verified",
        )
        cert = GeneratedCertificateFactory(
            user=u,
            course_id=key,
            mode=GeneratedCertificate.MODES.verified,
            status=CertificateStatuses.downloadable)
        CertificateInvalidationFactory.create(generated_certificate=cert,
                                              invalidated_by=self.user,
                                              active=True)

        assert not _can_generate_v2_certificate(u, key)
Пример #8
0
    def test_is_certificate_invalid_with_invalid_cert(self):
        """ Verify that method return true if certificate is invalid. """

        invalid_cert = CertificateInvalidationFactory.create(
            generated_certificate=self.certificate, invalidated_by=self.user)
        # Invalidate user certificate
        self.certificate.invalidate()
        assert CertificateInvalidation.has_certificate_invalidation(
            self.user, self.course_id)

        # mark the entry as in-active.
        invalid_cert.active = False
        invalid_cert.save()

        # After making the certificate valid method will return false.
        assert not CertificateInvalidation.has_certificate_invalidation(
            self.user, self.course_id)
Пример #9
0
    def test_get_certificate_invalidation_entry(self):
        """
        Test to verify that we can retrieve a certificate invalidation entry for a learner.
        """
        certificate = GeneratedCertificateFactory.create(
            user=self.user,
            course_id=self.course_run_key,
            status=CertificateStatuses.unavailable,
            mode='verified')

        invalidation = CertificateInvalidationFactory.create(
            generated_certificate=certificate,
            invalidated_by=self.global_staff,
            active=True)

        retrieved_invalidation = get_certificate_invalidation_entry(
            certificate)

        assert retrieved_invalidation.id == invalidation.id
        assert retrieved_invalidation.generated_certificate == certificate
        assert retrieved_invalidation.active == invalidation.active
Пример #10
0
    def test_is_certificate_invalid_with_invalid_cert(self):
        """ Verify that method return true if certificate is invalid. """

        invalid_cert = CertificateInvalidationFactory.create(
            generated_certificate=self.certificate,
            invalidated_by=self.user
        )
        # Invalidate user certificate
        self.certificate.invalidate()
        self.assertTrue(
            CertificateInvalidation.has_certificate_invalidation(self.user, self.course_id)
        )

        # mark the entry as in-active.
        invalid_cert.active = False
        invalid_cert.save()

        # After making the certificate valid method will return false.
        self.assertFalse(
            CertificateInvalidation.has_certificate_invalidation(self.user, self.course_id)
        )