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()
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()
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()
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)