Ejemplo n.º 1
0
    def test_delete_pdf(self):
        with patch('pdfgen.views.CertificateHonor.delete', spec=True,
                   return_value=self.result2) as moc1:
            contents = delete_cert_pdf(self.username, self.course_id, self.key)

        self.assertEqual(contents, self.result2)
        moc1.assert_called_once_with()
Ejemplo n.º 2
0
    def test_delete_pdf(self):
        with patch('pdfgen.views.CertificateHonor.delete',
                   spec=True,
                   return_value=self.result2) as moc1:
            contents = delete_cert_pdf(self.username, self.course_id, self.key)

        self.assertEqual(contents, self.result2)
        moc1.assert_called_once_with()
Ejemplo n.º 3
0
    def test_delete_cert_pdf_raise_BotoClientError(self):
        botoexception = BotoClientError(reason="reason")
        with patch('pdfgen.views.CertificateHonor.delete', spec=True,
                   side_effect=botoexception) as moc1:
            contents = delete_cert_pdf(self.username, self.course_id, self.key)

        self.assertEqual(
            contents, json.dumps({"error": "BotoClientError: reason"}))
        moc1.assert_called_once_with()
Ejemplo n.º 4
0
    def test_delete_cert_pdf_raise_BotoClientError(self):
        botoexception = BotoClientError(reason="reason")
        with patch('pdfgen.views.CertificateHonor.delete',
                   spec=True,
                   side_effect=botoexception) as moc1:
            contents = delete_cert_pdf(self.username, self.course_id, self.key)

        self.assertEqual(contents,
                         json.dumps({"error": "BotoClientError: reason"}))
        moc1.assert_called_once_with()
Ejemplo n.º 5
0
    def delete(self):
        """Delete pdf of certificate."""
        students = self._get_students()

        for student in students.iterator():
            certs = GeneratedCertificate.objects.filter(
                user=student, course_id=self.course_id)

            for cert in certs.iterator():
                if (cert.status == CertificateStatuses.downloadable
                        or cert.status == CertificateStatuses.generating):

                    print "Delete {1}'s certification for {0}".format(
                        self.course_id, student.username),

                    if not self.noop:
                        new_status = CertificateStatuses.deleted
                        cert.status = new_status
                        response_json = delete_cert_pdf(
                            student.username, self.course_id, cert.key)
                        response = json.loads(response_json)
                        self._dprint(": Response = {}".format(response),
                                     newline=False)
                        msg = response.get(u'error', False)

                        if msg is False or msg is None:
                            cert.download_url = ''
                            cert.key = ''
                            cert.save()
                            print ": Status {0}".format(new_status)
                        else:
                            new_status = CertificateStatuses.error
                            print ": Status {0}".format(new_status)
                            print ": Error {}".format(msg),

                    else:
                        print ": Status {0} (Noop)".format(cert.status)
Ejemplo n.º 6
0
    def delete(self):
        """Delete pdf of certificate."""
        students = self._get_students()

        for student in students.iterator():
            certs = GeneratedCertificate.objects.filter(
                user=student, course_id=self.course_id)

            for cert in certs.iterator():
                if (cert.status == CertificateStatuses.downloadable or
                        cert.status == CertificateStatuses.generating):

                    print "Delete {1}'s certification for {0}".format(
                        self.course_id, student.username),

                    if not self.noop:
                        new_status = CertificateStatuses.deleted
                        cert.status = new_status
                        response_json = delete_cert_pdf(
                            student.username, self.course_id, cert.key)
                        response = json.loads(response_json)
                        self._dprint(": Response = {}".format(response), newline=False)
                        msg = response.get(u'error', False)

                        if msg is False or msg is None:
                            cert.download_url = ''
                            cert.key = ''
                            cert.save()
                            print ": Status {0}".format(new_status)
                        else:
                            new_status = CertificateStatuses.error
                            print ": Status {0}".format(new_status)
                            print ": Error {}".format(msg),

                    else:
                        print ": Status {0} (Noop)".format(cert.status)