forked from archive/andrewferrier_email2pdf
Add warnings file.
This commit is contained in:
parent
cccd4a49bf
commit
8e77df8948
11 changed files with 136 additions and 7 deletions
|
@ -84,6 +84,14 @@ def main(argv, syslog_handler, syserr_handler):
|
||||||
output_file_name = get_output_file_name(args, output_directory)
|
output_file_name = get_output_file_name(args, output_directory)
|
||||||
logger.info("Output file name is: " + output_file_name)
|
logger.info("Output file name is: " + output_file_name)
|
||||||
|
|
||||||
|
(warning_logger_name, _) = os.path.splitext(output_file_name)
|
||||||
|
warning_logger_name = os.path.join(os.path.dirname(warning_logger_name),
|
||||||
|
os.path.basename(warning_logger_name) + "_warnings_and_errors.txt")
|
||||||
|
warning_logger = logging.FileHandler(warning_logger_name, delay=True)
|
||||||
|
warning_logger.setLevel(logging.WARNING)
|
||||||
|
warning_logger.setFormatter(logging.Formatter('%(levelname)s: %(message)s'))
|
||||||
|
logger.addHandler(warning_logger)
|
||||||
|
|
||||||
input_data = get_input_data(args)
|
input_data = get_input_data(args)
|
||||||
logger.debug("Email input data is: " + input_data)
|
logger.debug("Email input data is: " + input_data)
|
||||||
|
|
||||||
|
|
|
@ -66,12 +66,23 @@ class Email2PDFTestCase(unittest.TestCase):
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def getTimedFilename(self, path=None):
|
def existsByTimeWarning(self):
|
||||||
|
if self.getTimedFilename(postfix="_warnings_and_errors.txt"):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getWarningFileContents(self):
|
||||||
|
filename = self.getTimedFilename(postfix="_warnings_and_errors.txt")
|
||||||
|
with open(filename) as f:
|
||||||
|
return f.read()
|
||||||
|
|
||||||
|
def getTimedFilename(self, path=None, postfix=".pdf"):
|
||||||
if path is None:
|
if path is None:
|
||||||
path = self.workingDir
|
path = self.workingDir
|
||||||
|
|
||||||
for single_time in self._timerange(self.time_invoked, self.time_completed):
|
for single_time in self._timerange(self.time_invoked, self.time_completed):
|
||||||
filename = os.path.join(path, self.getTimeStamp(single_time) + ".pdf")
|
filename = os.path.join(path, self.getTimeStamp(single_time) + postfix)
|
||||||
if os.path.exists(filename):
|
if os.path.exists(filename):
|
||||||
return filename
|
return filename
|
||||||
|
|
||||||
|
@ -180,20 +191,22 @@ class Email2PDFTestCase(unittest.TestCase):
|
||||||
options.extend(extraParams)
|
options.extend(extraParams)
|
||||||
|
|
||||||
stream = io.StringIO()
|
stream = io.StringIO()
|
||||||
handler = logging.StreamHandler(stream)
|
stream_handler = logging.StreamHandler(stream)
|
||||||
log = logging.getLogger('email2pdf')
|
log = logging.getLogger('email2pdf')
|
||||||
log.propagate = False
|
log.propagate = False
|
||||||
log.setLevel(logging.DEBUG)
|
log.setLevel(logging.DEBUG)
|
||||||
log.addHandler(handler)
|
log.addHandler(stream_handler)
|
||||||
|
|
||||||
self.time_invoked = datetime.now()
|
self.time_invoked = datetime.now()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
email2pdf.main(options, None, handler)
|
email2pdf.main(options, None, stream_handler)
|
||||||
finally:
|
finally:
|
||||||
self.time_completed = datetime.now()
|
self.time_completed = datetime.now()
|
||||||
log.removeHandler(handler)
|
for handler in log.handlers:
|
||||||
handler.close()
|
handler.close()
|
||||||
|
log.removeHandler(handler)
|
||||||
|
stream_handler.close()
|
||||||
|
|
||||||
error = stream.getvalue()
|
error = stream.getvalue()
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,8 @@ class Direct_Arguments(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(extraParams=['--no-body'])
|
error = self.invokeDirectly(extraParams=['--no-body'])
|
||||||
self.assertFalse(self.existsByTime())
|
self.assertFalse(self.existsByTime())
|
||||||
self.assertRegex(error, "body.*any.*attachments")
|
self.assertRegex(error, "body.*any.*attachments")
|
||||||
|
self.assertTrue(self.existsByTimeWarning())
|
||||||
|
self.assertRegex(self.getWarningFileContents(), "body.*any.*attachments")
|
||||||
|
|
||||||
def test_no_attachments(self):
|
def test_no_attachments(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -29,6 +31,7 @@ class Direct_Arguments(BaseTestClasses.Email2PDFTestCase):
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, filename2)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, filename2)))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, filename3)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, filename3)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_no_body_and_no_attachments(self):
|
def test_no_body_and_no_attachments(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -39,6 +42,7 @@ class Direct_Arguments(BaseTestClasses.Email2PDFTestCase):
|
||||||
with self.assertRaisesRegex(Exception, "attachments.*not allowed with.*body"):
|
with self.assertRaisesRegex(Exception, "attachments.*not allowed with.*body"):
|
||||||
self.invokeDirectly(extraParams=['--no-body', '--no-attachments'])
|
self.invokeDirectly(extraParams=['--no-body', '--no-attachments'])
|
||||||
self.assertFalse(self.existsByTime())
|
self.assertFalse(self.existsByTime())
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_headers(self):
|
def test_headers(self):
|
||||||
path = os.path.join(self.examineDir, "headers.pdf")
|
path = os.path.join(self.examineDir, "headers.pdf")
|
||||||
|
@ -52,6 +56,7 @@ class Direct_Arguments(BaseTestClasses.Email2PDFTestCase):
|
||||||
self.assertRegex(pdf_text, "From")
|
self.assertRegex(pdf_text, "From")
|
||||||
self.assertRegex(pdf_text, "To")
|
self.assertRegex(pdf_text, "To")
|
||||||
self.assertRegex(pdf_text, "Hello")
|
self.assertRegex(pdf_text, "Hello")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_add_prefix_date(self):
|
def test_add_prefix_date(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -77,6 +82,7 @@ class Direct_Arguments(BaseTestClasses.Email2PDFTestCase):
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename4)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename4)), "Some PDF content")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir,
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir,
|
||||||
datetime.now().strftime("%Y-%m-%d-") + filename)), "Some PDF content")
|
datetime.now().strftime("%Y-%m-%d-") + filename)), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_verbose(self):
|
def test_verbose(self):
|
||||||
self.attachText("Hello!")
|
self.attachText("Hello!")
|
||||||
|
@ -84,6 +90,7 @@ class Direct_Arguments(BaseTestClasses.Email2PDFTestCase):
|
||||||
self.assertNotEqual('', error)
|
self.assertNotEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_veryverbose(self):
|
def test_veryverbose(self):
|
||||||
self.attachText("Hello!")
|
self.attachText("Hello!")
|
||||||
|
@ -91,3 +98,4 @@ class Direct_Arguments(BaseTestClasses.Email2PDFTestCase):
|
||||||
self.assertNotEqual('', error)
|
self.assertNotEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
|
@ -20,6 +20,7 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_pdf_with_invalid_extension(self):
|
def test_pdf_with_invalid_extension(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -31,6 +32,7 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_pdf_as_octet_stream_with_invalid_extension(self):
|
def test_pdf_as_octet_stream_with_invalid_extension(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -42,6 +44,7 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_pdf_as_octet_stream_no_body(self):
|
def test_pdf_as_octet_stream_no_body(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -52,6 +55,7 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertFalse(self.existsByTime())
|
self.assertFalse(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_jpeg_as_octet_stream(self):
|
def test_jpeg_as_octet_stream(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -63,6 +67,7 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
self.assertIsJPG(os.path.join(self.workingDir, image_filename))
|
self.assertIsJPG(os.path.join(self.workingDir, image_filename))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_jpeg_with_invalid_extension(self):
|
def test_jpeg_with_invalid_extension(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -74,6 +79,7 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
self.assertIsJPG(os.path.join(self.workingDir, image_filename))
|
self.assertIsJPG(os.path.join(self.workingDir, image_filename))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_jpeg_as_octet_stream_with_invalid_extension(self):
|
def test_jpeg_as_octet_stream_with_invalid_extension(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -85,6 +91,7 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
self.assertIsJPG(os.path.join(self.workingDir, image_filename))
|
self.assertIsJPG(os.path.join(self.workingDir, image_filename))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_word_document(self):
|
def test_word_document(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -96,6 +103,7 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, "somefile.docx")))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, "somefile.docx")))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_unidentified_file(self):
|
def test_unidentified_file(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -106,3 +114,4 @@ class AttachmentDetection(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, "somefile.xyz")))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, "somefile.xyz")))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
|
@ -16,6 +16,7 @@ class Direct_Basic(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly()
|
error = self.invokeDirectly()
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_internationalised_subject(self):
|
def test_internationalised_subject(self):
|
||||||
path = os.path.join(self.examineDir, "internationalised_subject.pdf")
|
path = os.path.join(self.examineDir, "internationalised_subject.pdf")
|
||||||
|
@ -23,6 +24,7 @@ class Direct_Basic(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path, extraParams=['--headers'])
|
error = self.invokeDirectly(outputFile=path, extraParams=['--headers'])
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_internationalised_subject2(self):
|
def test_internationalised_subject2(self):
|
||||||
path = os.path.join(self.examineDir, "internationalised_subject_jp.pdf")
|
path = os.path.join(self.examineDir, "internationalised_subject_jp.pdf")
|
||||||
|
@ -30,6 +32,7 @@ class Direct_Basic(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path, extraParams=['--headers'])
|
error = self.invokeDirectly(outputFile=path, extraParams=['--headers'])
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_internationalised_subject3(self):
|
def test_internationalised_subject3(self):
|
||||||
path = os.path.join(self.examineDir, "internationalised_subject_de.pdf")
|
path = os.path.join(self.examineDir, "internationalised_subject_de.pdf")
|
||||||
|
@ -37,6 +40,7 @@ class Direct_Basic(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path, extraParams=['--headers'])
|
error = self.invokeDirectly(outputFile=path, extraParams=['--headers'])
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_internationalised_subject4(self):
|
def test_internationalised_subject4(self):
|
||||||
path = os.path.join(self.examineDir, "internationalised_subject_complex.pdf")
|
path = os.path.join(self.examineDir, "internationalised_subject_complex.pdf")
|
||||||
|
@ -48,3 +52,4 @@ class Direct_Basic(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path, extraParams=['--headers'])
|
error = self.invokeDirectly(outputFile=path, extraParams=['--headers'])
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
|
@ -18,6 +18,8 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertFalse(self.existsByTime())
|
self.assertFalse(self.existsByTime())
|
||||||
self.assertRegex(error, "body.*any.*attachments")
|
self.assertRegex(error, "body.*any.*attachments")
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.jpg')))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.jpg')))
|
||||||
|
self.assertTrue(self.existsByTimeWarning())
|
||||||
|
self.assertRegex(self.getWarningFileContents(), "body.*any.*attachments")
|
||||||
|
|
||||||
def test_inline_image_with_filename_no_body(self):
|
def test_inline_image_with_filename_no_body(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -27,6 +29,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertFalse(self.existsByTime())
|
self.assertFalse(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_inline_image_and_pdf(self):
|
def test_inline_image_and_pdf(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -38,6 +41,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertFalse(self.existsByTime())
|
self.assertFalse(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, pdf_file_name)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, pdf_file_name)))
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, pdf_file_name)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, pdf_file_name)), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_embedded_image(self):
|
def test_embedded_image(self):
|
||||||
path = os.path.join(self.examineDir, "embeddedImage.pdf")
|
path = os.path.join(self.examineDir, "embeddedImage.pdf")
|
||||||
|
@ -49,6 +53,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(path))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(path))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_embedded_image_with_complex_name(self):
|
def test_embedded_image_with_complex_name(self):
|
||||||
path = os.path.join(self.examineDir, "embeddedImageWithComplexName.pdf")
|
path = os.path.join(self.examineDir, "embeddedImageWithComplexName.pdf")
|
||||||
|
@ -60,6 +65,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertLess(Email2PDFTestCase.PNG_SIZE, os.path.getsize(path))
|
self.assertLess(Email2PDFTestCase.PNG_SIZE, os.path.getsize(path))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_embedded_image_invalid_cid(self):
|
def test_embedded_image_invalid_cid(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -70,6 +76,8 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertGreater(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertGreater(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertTrue(self.existsByTimeWarning())
|
||||||
|
self.assertRegex(self.getWarningFileContents(), "(?i)could not find image")
|
||||||
|
|
||||||
def test_embedded_image_png(self):
|
def test_embedded_image_png(self):
|
||||||
path = os.path.join(self.examineDir, "embeddedImagePNG.pdf")
|
path = os.path.join(self.examineDir, "embeddedImagePNG.pdf")
|
||||||
|
@ -81,6 +89,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertLess(Email2PDFTestCase.PNG_SIZE, os.path.getsize(path))
|
self.assertLess(Email2PDFTestCase.PNG_SIZE, os.path.getsize(path))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_embedded_image_cid_underscore(self):
|
def test_embedded_image_cid_underscore(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -91,6 +100,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_embedded_image_extra_html_content(self):
|
def test_embedded_image_extra_html_content(self):
|
||||||
if self.isOnline:
|
if self.isOnline:
|
||||||
|
@ -103,6 +113,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
else:
|
else:
|
||||||
self.skipTest("Not online.")
|
self.skipTest("Not online.")
|
||||||
|
|
||||||
|
@ -115,6 +126,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_embedded_image_no_attachments(self):
|
def test_embedded_image_no_attachments(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -125,6 +137,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_embedded_image_as_octet_stream(self):
|
def test_embedded_image_as_octet_stream(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -135,6 +148,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_one_embedded_one_not_image(self):
|
def test_one_embedded_one_not_image(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -147,6 +161,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename2)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, image_filename2)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_two_embedded(self):
|
def test_two_embedded(self):
|
||||||
path = os.path.join(self.examineDir, "twoEmbeddedImages.pdf")
|
path = os.path.join(self.examineDir, "twoEmbeddedImages.pdf")
|
||||||
|
@ -158,6 +173,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(path))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(path))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_two_different_embedded(self):
|
def test_two_different_embedded(self):
|
||||||
path = os.path.join(self.examineDir, "twoDifferentEmbeddedImages.pdf")
|
path = os.path.join(self.examineDir, "twoDifferentEmbeddedImages.pdf")
|
||||||
|
@ -171,6 +187,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE + Email2PDFTestCase.PNG_SIZE, os.path.getsize(path))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE + Email2PDFTestCase.PNG_SIZE, os.path.getsize(path))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename)))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename2)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, image_filename2)))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_some_cids_not_referenced(self):
|
def test_some_cids_not_referenced(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -189,6 +206,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'myid3.jpg')))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'myid3.jpg')))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.jpg')))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.jpg')))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment_1.jpg')))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment_1.jpg')))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_some_cids_not_referenced_ignore_floating_attachments(self):
|
def test_some_cids_not_referenced_ignore_floating_attachments(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -207,6 +225,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid3.jpg')))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid3.jpg')))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.jpg')))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.jpg')))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'floating_attachment_1.jpg')))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'floating_attachment_1.jpg')))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_some_cids_not_referenced_png(self):
|
def test_some_cids_not_referenced_png(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -221,6 +240,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.png')))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.png')))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'myid2.png')))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'myid2.png')))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.png')))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.png')))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_some_cids_not_referenced_pdf(self):
|
def test_some_cids_not_referenced_pdf(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -234,6 +254,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.png')))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.png')))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.pdf')))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.pdf')))
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, 'floating_attachment.pdf')), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, 'floating_attachment.pdf')), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_some_cids_not_referenced_docx(self):
|
def test_some_cids_not_referenced_docx(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -248,6 +269,7 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.png')))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.png')))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.docx')))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment.docx')))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_some_cids_not_referenced_misc(self):
|
def test_some_cids_not_referenced_misc(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -262,3 +284,4 @@ class Direct_CID(Email2PDFTestCase):
|
||||||
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
self.assertLess(Email2PDFTestCase.JPG_SIZE, os.path.getsize(self.getTimedFilename()))
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.png')))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, 'myid.png')))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment')))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, 'floating_attachment')))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
|
@ -16,11 +16,13 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
with tempfile.NamedTemporaryFile() as tmpfile:
|
with tempfile.NamedTemporaryFile() as tmpfile:
|
||||||
with self.assertRaisesRegex(Exception, "file.*exist"):
|
with self.assertRaisesRegex(Exception, "file.*exist"):
|
||||||
self.invokeDirectly(outputFile=tmpfile.name, okToExist=True)
|
self.invokeDirectly(outputFile=tmpfile.name, okToExist=True)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_dirnotexist(self):
|
def test_plaincontent_dirnotexist(self):
|
||||||
self.attachText("Hello!")
|
self.attachText("Hello!")
|
||||||
with self.assertRaisesRegex(Exception, "(?i)directory.*not.*exist"):
|
with self.assertRaisesRegex(Exception, "(?i)directory.*not.*exist"):
|
||||||
self.invokeDirectly(outputDirectory="/notexist/")
|
self.invokeDirectly(outputDirectory="/notexist/")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_image_doesnt_exist(self):
|
def test_image_doesnt_exist(self):
|
||||||
if self.isOnline:
|
if self.isOnline:
|
||||||
|
@ -30,6 +32,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertRegex(error, "(?i)could not retrieve")
|
self.assertRegex(error, "(?i)could not retrieve")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
else:
|
else:
|
||||||
self.skipTest("Not online.")
|
self.skipTest("Not online.")
|
||||||
|
|
||||||
|
@ -40,6 +43,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_image_doesnt_exist_blacklist_upper(self):
|
def test_image_doesnt_exist_blacklist_upper(self):
|
||||||
path = os.path.join(self.examineDir, "remoteImageDoesntExistBlacklistUpper.pdf")
|
path = os.path.join(self.examineDir, "remoteImageDoesntExistBlacklistUpper.pdf")
|
||||||
|
@ -48,6 +52,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_image_doesnt_exist_with_pdf(self):
|
def test_image_doesnt_exist_with_pdf(self):
|
||||||
if self.isOnline:
|
if self.isOnline:
|
||||||
|
@ -58,6 +63,8 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
||||||
self.assertRegex(error, "(?i)could not retrieve")
|
self.assertRegex(error, "(?i)could not retrieve")
|
||||||
|
self.assertTrue(self.existsByTimeWarning())
|
||||||
|
self.assertRegex(self.getWarningFileContents(), "(?i)could not retrieve")
|
||||||
else:
|
else:
|
||||||
self.skipTest("Not online.")
|
self.skipTest("Not online.")
|
||||||
|
|
||||||
|
@ -68,6 +75,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertRegex(error, "(?i)could not retrieve")
|
self.assertRegex(error, "(?i)could not retrieve")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_local_image_with_query_doesnt_exist(self):
|
def test_local_image_with_query_doesnt_exist(self):
|
||||||
path = os.path.join(self.examineDir, "localImageWithQueryDoesntExist.pdf")
|
path = os.path.join(self.examineDir, "localImageWithQueryDoesntExist.pdf")
|
||||||
|
@ -76,6 +84,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertRegex(error, "(?i)could not retrieve")
|
self.assertRegex(error, "(?i)could not retrieve")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_local_script_doesnt_exist(self):
|
def test_local_script_doesnt_exist(self):
|
||||||
path = os.path.join(self.examineDir, "localScriptDoesntExist.pdf")
|
path = os.path.join(self.examineDir, "localScriptDoesntExist.pdf")
|
||||||
|
@ -84,6 +93,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_local_script_with_query_doesnt_exist(self):
|
def test_local_script_with_query_doesnt_exist(self):
|
||||||
path = os.path.join(self.examineDir, "localScriptWithQueryDoesntExist.pdf")
|
path = os.path.join(self.examineDir, "localScriptWithQueryDoesntExist.pdf")
|
||||||
|
@ -92,6 +102,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_local_stylesheet_doesnt_exist(self):
|
def test_local_stylesheet_doesnt_exist(self):
|
||||||
path = os.path.join(self.examineDir, "localStylesheetDoesntExist.pdf")
|
path = os.path.join(self.examineDir, "localStylesheetDoesntExist.pdf")
|
||||||
|
@ -100,6 +111,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_local_stylesheet_with_query_doesnt_exist(self):
|
def test_local_stylesheet_with_query_doesnt_exist(self):
|
||||||
path = os.path.join(self.examineDir, "localStylesheetWithQueryDoesntExist.pdf")
|
path = os.path.join(self.examineDir, "localStylesheetWithQueryDoesntExist.pdf")
|
||||||
|
@ -108,6 +120,7 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly(outputFile=path)
|
error = self.invokeDirectly(outputFile=path)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_no_explicit_parts(self):
|
def test_no_explicit_parts(self):
|
||||||
# If we don't add any parts explicitly, email2pdf should find a
|
# If we don't add any parts explicitly, email2pdf should find a
|
||||||
|
@ -115,11 +128,13 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly()
|
error = self.invokeDirectly()
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_fuzz(self):
|
def test_fuzz(self):
|
||||||
with self.assertRaisesRegex(Exception, "(?i)defects parsing email"):
|
with self.assertRaisesRegex(Exception, "(?i)defects parsing email"):
|
||||||
self.invokeDirectly(completeMessage="This is total junk")
|
self.invokeDirectly(completeMessage="This is total junk")
|
||||||
self.assertFalse(self.existsByTime())
|
self.assertFalse(self.existsByTime())
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_broken_html(self):
|
def test_broken_html(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -127,3 +142,4 @@ class Direct_Errors(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly()
|
error = self.invokeDirectly()
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
|
@ -18,6 +18,7 @@ class Direct_Complex(BaseTestClasses.Email2PDFTestCase):
|
||||||
error = self.invokeDirectly()
|
error = self.invokeDirectly()
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, "2016-08-09T23-04-05.pdf")))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, "2016-08-09T23-04-05.pdf")))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
@freeze_time("2017-09-11 00:05:06")
|
@freeze_time("2017-09-11 00:05:06")
|
||||||
def test_add_prefix_date(self):
|
def test_add_prefix_date(self):
|
||||||
|
@ -31,6 +32,7 @@ class Direct_Complex(BaseTestClasses.Email2PDFTestCase):
|
||||||
self.assertFalse(os.path.exists(os.path.join(self.workingDir, filename)))
|
self.assertFalse(os.path.exists(os.path.join(self.workingDir, filename)))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, "2017-09-11-" + filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, "2017-09-11-" + filename)))
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, "2017-09-11-" + filename)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, "2017-09-11-" + filename)), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
@freeze_time("2015-02-03 14:00:00")
|
@freeze_time("2015-02-03 14:00:00")
|
||||||
def test_plaincontent_timedfileexist(self):
|
def test_plaincontent_timedfileexist(self):
|
||||||
|
@ -46,3 +48,4 @@ class Direct_Complex(BaseTestClasses.Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(filename2))
|
self.assertTrue(os.path.exists(filename2))
|
||||||
self.assertIsNone(self.getPDFText(filename1))
|
self.assertIsNone(self.getPDFText(filename1))
|
||||||
self.assertRegex(self.getPDFText(filename2), "Hello!")
|
self.assertRegex(self.getPDFText(filename2), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
|
@ -21,6 +21,7 @@ class Direct_Metadata(Email2PDFTestCase):
|
||||||
self.assertEqual(Email2PDFTestCase.DEFAULT_TO, self.getMetadataField(timedFilename, "X-email2pdf-To"))
|
self.assertEqual(Email2PDFTestCase.DEFAULT_TO, self.getMetadataField(timedFilename, "X-email2pdf-To"))
|
||||||
self.assertEqual(Email2PDFTestCase.DEFAULT_SUBJECT, self.getMetadataField(timedFilename, "Title"))
|
self.assertEqual(Email2PDFTestCase.DEFAULT_SUBJECT, self.getMetadataField(timedFilename, "Title"))
|
||||||
self.assertEqual("email2pdf", self.getMetadataField(timedFilename, "Producer"))
|
self.assertEqual("email2pdf", self.getMetadataField(timedFilename, "Producer"))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_metadata(self):
|
def test_plaincontent_metadata(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -34,6 +35,7 @@ class Direct_Metadata(Email2PDFTestCase):
|
||||||
self.assertEqual(Email2PDFTestCase.DEFAULT_SUBJECT, self.getMetadataField(path, "Title"))
|
self.assertEqual(Email2PDFTestCase.DEFAULT_SUBJECT, self.getMetadataField(path, "Title"))
|
||||||
self.assertEqual("email2pdf", self.getMetadataField(path, "Producer"))
|
self.assertEqual("email2pdf", self.getMetadataField(path, "Producer"))
|
||||||
self.assertRegex(self.getPDFText(path), "Hello!")
|
self.assertRegex(self.getPDFText(path), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_metadata_differentmount(self):
|
def test_plaincontent_metadata_differentmount(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -48,6 +50,7 @@ class Direct_Metadata(Email2PDFTestCase):
|
||||||
self.assertEqual(Email2PDFTestCase.DEFAULT_TO, self.getMetadataField(path, "X-email2pdf-To"))
|
self.assertEqual(Email2PDFTestCase.DEFAULT_TO, self.getMetadataField(path, "X-email2pdf-To"))
|
||||||
self.assertEqual(Email2PDFTestCase.DEFAULT_SUBJECT, self.getMetadataField(path, "Title"))
|
self.assertEqual(Email2PDFTestCase.DEFAULT_SUBJECT, self.getMetadataField(path, "Title"))
|
||||||
self.assertEqual("email2pdf", self.getMetadataField(path, "Producer"))
|
self.assertEqual("email2pdf", self.getMetadataField(path, "Producer"))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
else:
|
else:
|
||||||
self.skipTest(tempdir + " and " + tempfile.tempdir + " are on the same mountpoint, test not relevant.")
|
self.skipTest(tempdir + " and " + tempfile.tempdir + " are on the same mountpoint, test not relevant.")
|
||||||
|
|
||||||
|
@ -62,6 +65,7 @@ class Direct_Metadata(Email2PDFTestCase):
|
||||||
self.assertEqual('', self.getMetadataField(path, "Title"))
|
self.assertEqual('', self.getMetadataField(path, "Title"))
|
||||||
self.assertEqual("email2pdf", self.getMetadataField(path, "Producer"))
|
self.assertEqual("email2pdf", self.getMetadataField(path, "Producer"))
|
||||||
self.assertRegex(self.getPDFText(path), "Hello!")
|
self.assertRegex(self.getPDFText(path), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_metadata_internationalised_subject(self):
|
def test_metadata_internationalised_subject(self):
|
||||||
self.addHeaders(subject=bytes("Hello!", 'iso-8859-1'), subject_encoding='iso-8859-1')
|
self.addHeaders(subject=bytes("Hello!", 'iso-8859-1'), subject_encoding='iso-8859-1')
|
||||||
|
@ -73,3 +77,4 @@ class Direct_Metadata(Email2PDFTestCase):
|
||||||
self.assertEqual(Email2PDFTestCase.DEFAULT_TO, self.getMetadataField(timedFilename, "X-email2pdf-To"))
|
self.assertEqual(Email2PDFTestCase.DEFAULT_TO, self.getMetadataField(timedFilename, "X-email2pdf-To"))
|
||||||
self.assertEqual("Hello!", self.getMetadataField(timedFilename, "Title"))
|
self.assertEqual("Hello!", self.getMetadataField(timedFilename, "Title"))
|
||||||
self.assertEqual("email2pdf", self.getMetadataField(timedFilename, "Producer"))
|
self.assertEqual("email2pdf", self.getMetadataField(timedFilename, "Producer"))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
|
@ -17,29 +17,35 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_help(self):
|
def test_help(self):
|
||||||
(rc, output, error) = self.invokeAsSubprocess(extraParams=['--help'], expectOutput=True)
|
(rc, output, error) = self.invokeAsSubprocess(extraParams=['--help'], expectOutput=True)
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertRegex(output, 'usage:')
|
self.assertRegex(output, 'usage:')
|
||||||
self.assertEqual(error, '')
|
self.assertEqual(error, '')
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_invalid_option(self):
|
def test_invalid_option(self):
|
||||||
(rc, output, error) = self.invokeAsSubprocess(extraParams=['--invalid-option'])
|
(rc, output, error) = self.invokeAsSubprocess(extraParams=['--invalid-option'])
|
||||||
self.assertEqual(2, rc)
|
self.assertEqual(2, rc)
|
||||||
self.assertRegex(error, 'ERROR: unrecognized.*')
|
self.assertRegex(error, 'ERROR: unrecognized.*')
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_dont_print_body(self):
|
def test_dont_print_body(self):
|
||||||
(rc, output, error) = self.invokeAsSubprocess(extraParams=['--no-body'])
|
(rc, output, error) = self.invokeAsSubprocess(extraParams=['--no-body'])
|
||||||
self.assertEqual(1, rc)
|
self.assertEqual(1, rc)
|
||||||
self.assertFalse(self.existsByTime())
|
self.assertFalse(self.existsByTime())
|
||||||
self.assertRegex(error, "body.*any.*attachments")
|
self.assertRegex(error, "body.*any.*attachments")
|
||||||
|
self.assertTrue(self.existsByTimeWarning())
|
||||||
|
self.assertRegex(self.getWarningFileContents(), "body.*any.*attachments")
|
||||||
|
|
||||||
def test_no_message_headers(self):
|
def test_no_message_headers(self):
|
||||||
(rc, output, error) = self.invokeAsSubprocess()
|
(rc, output, error) = self.invokeAsSubprocess()
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_withinputfile(self):
|
def test_withinputfile(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -47,6 +53,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_nosubject(self):
|
def test_nosubject(self):
|
||||||
self.addHeaders(Email2PDFTestCase.DEFAULT_FROM, Email2PDFTestCase.DEFAULT_TO, None)
|
self.addHeaders(Email2PDFTestCase.DEFAULT_FROM, Email2PDFTestCase.DEFAULT_TO, None)
|
||||||
|
@ -54,6 +61,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent(self):
|
def test_plaincontent(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -63,6 +71,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_upsidedown(self):
|
def test_plaincontent_upsidedown(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -72,6 +81,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "ɯɐɹƃoɹd ɟpdᄅlᴉɐɯǝ ǝɥʇ ɟo ʇsǝʇ ɐ sᴉ sᴉɥʇ ollǝH")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "ɯɐɹƃoɹd ɟpdᄅlᴉɐɯǝ ǝɥʇ ɟo ʇsǝʇ ɐ sᴉ sᴉɥʇ ollǝH")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_poundsign_iso88591(self):
|
def test_plaincontent_poundsign_iso88591(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -82,6 +92,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertRegex(self.getPDFText(path), "Hello - this email costs \xa35!")
|
self.assertRegex(self.getPDFText(path), "Hello - this email costs \xa35!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_notrailingslash(self):
|
def test_plaincontent_notrailingslash(self):
|
||||||
self.setPlainContent("Hello!")
|
self.setPlainContent("Hello!")
|
||||||
|
@ -90,6 +101,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime("/tmp"))
|
self.assertTrue(self.existsByTime("/tmp"))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename("/tmp/")), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename("/tmp/")), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_trailingslash(self):
|
def test_plaincontent_trailingslash(self):
|
||||||
self.setPlainContent("Hello!")
|
self.setPlainContent("Hello!")
|
||||||
|
@ -98,6 +110,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime("/tmp/"))
|
self.assertTrue(self.existsByTime("/tmp/"))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename("/tmp/")), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename("/tmp/")), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_outputfileoverrides(self):
|
def test_plaincontent_outputfileoverrides(self):
|
||||||
filename = os.path.join(self.examineDir, "outputFileOverrides.pdf")
|
filename = os.path.join(self.examineDir, "outputFileOverrides.pdf")
|
||||||
|
@ -109,6 +122,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertFalse(self.existsByTime(pathname))
|
self.assertFalse(self.existsByTime(pathname))
|
||||||
self.assertTrue(os.path.exists(filename))
|
self.assertTrue(os.path.exists(filename))
|
||||||
self.assertRegex(self.getPDFText(filename), "Hello!")
|
self.assertRegex(self.getPDFText(filename), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_fileexist(self):
|
def test_plaincontent_fileexist(self):
|
||||||
self.setPlainContent("Hello!")
|
self.setPlainContent("Hello!")
|
||||||
|
@ -116,6 +130,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
(rc, output, error) = self.invokeAsSubprocess(outputFile=tmpfile.name, okToExist=True)
|
(rc, output, error) = self.invokeAsSubprocess(outputFile=tmpfile.name, okToExist=True)
|
||||||
self.assertEqual(2, rc)
|
self.assertEqual(2, rc)
|
||||||
self.assertRegex(error, "file.*exist")
|
self.assertRegex(error, "file.*exist")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_verbose(self):
|
def test_verbose(self):
|
||||||
self.setPlainContent("Hello!")
|
self.setPlainContent("Hello!")
|
||||||
|
@ -124,6 +139,7 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertNotEqual('', error)
|
self.assertNotEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_veryverbose(self):
|
def test_veryverbose(self):
|
||||||
self.setPlainContent("Hello!")
|
self.setPlainContent("Hello!")
|
||||||
|
@ -132,3 +148,4 @@ class TestBasic(Email2PDFTestCase):
|
||||||
self.assertNotEqual('', error)
|
self.assertNotEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
|
@ -17,6 +17,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_simple(self):
|
def test_simple(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -24,6 +25,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_nosubject(self):
|
def test_nosubject(self):
|
||||||
self.addHeaders(Email2PDFTestCase.DEFAULT_FROM, Email2PDFTestCase.DEFAULT_TO, None)
|
self.addHeaders(Email2PDFTestCase.DEFAULT_FROM, Email2PDFTestCase.DEFAULT_TO, None)
|
||||||
|
@ -31,6 +33,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_html(self):
|
def test_html(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -40,6 +43,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some\sbasic\stextual\scontent")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some\sbasic\stextual\scontent")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_attachtext_upsidedown(self):
|
def test_attachtext_upsidedown(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -49,6 +53,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "ɯɐɹƃoɹd\sɟpdᄅlᴉɐɯǝ\sǝɥʇ\sɟo\sʇsǝʇ\sɐ\ssᴉ\ssᴉɥʇ\sollǝH")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "ɯɐɹƃoɹd\sɟpdᄅlᴉɐɯǝ\sǝɥʇ\sɟo\sʇsǝʇ\sɐ\ssᴉ\ssᴉɥʇ\sollǝH")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_attachhtml_upsidedown(self):
|
def test_attachhtml_upsidedown(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -58,6 +63,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "ɯɐɹƃoɹd\sɟpdᄅlᴉɐɯǝ\sǝɥʇ\sɟo\sʇsǝʇ\sɐ\ssᴉ\ssᴉɥʇ\sollǝH")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "ɯɐɹƃoɹd\sɟpdᄅlᴉɐɯǝ\sǝɥʇ\sɟo\sʇsǝʇ\sɐ\ssᴉ\ssᴉɥʇ\sollǝH")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_html_entities_currency(self):
|
def test_html_entities_currency(self):
|
||||||
path = os.path.join(self.examineDir, "htmlEntitiesCurrency.pdf")
|
path = os.path.join(self.examineDir, "htmlEntitiesCurrency.pdf")
|
||||||
|
@ -68,6 +74,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertRegex(self.getPDFText(path), "Pounds:\s£7.14,\sAnother\sPounds:\s£7.14")
|
self.assertRegex(self.getPDFText(path), "Pounds:\s£7.14,\sAnother\sPounds:\s£7.14")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_html_poundsign_iso88591(self):
|
def test_html_poundsign_iso88591(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -78,6 +85,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertRegex(self.getPDFText(path), "Hello\s-\sthis\semail\scosts\s\xa35!")
|
self.assertRegex(self.getPDFText(path), "Hello\s-\sthis\semail\scosts\s\xa35!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_text_poundsign_iso88591(self):
|
def test_text_poundsign_iso88591(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -88,6 +96,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertRegex(self.getPDFText(path), "Hello\s-\sthis\semail\scosts\s\xa35!")
|
self.assertRegex(self.getPDFText(path), "Hello\s-\sthis\semail\scosts\s\xa35!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_poundsign_utf8_8bit(self):
|
def test_plaincontent_poundsign_utf8_8bit(self):
|
||||||
input_email = ("From: \"XYZ\" <xyz@abc.uk>\n"
|
input_email = ("From: \"XYZ\" <xyz@abc.uk>\n"
|
||||||
|
@ -108,6 +117,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
self.assertRegex(self.getPDFText(path), "Price\sis\s£45.00")
|
self.assertRegex(self.getPDFText(path), "Price\sis\s£45.00")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plainandhtml(self):
|
def test_plainandhtml(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -118,6 +128,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some\sbasic\sHTML\scontent")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some\sbasic\sHTML\scontent")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_pdf(self):
|
def test_pdf(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -130,6 +141,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, filename)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some\sbasic\stextual\scontent")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some\sbasic\stextual\scontent")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some\sPDF\scontent")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some\sPDF\scontent")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_plaincontent_outputfileoverrides_with_attachments(self):
|
def test_plaincontent_outputfileoverrides_with_attachments(self):
|
||||||
mainFilename = os.path.join(self.examineDir, "outputFileOverridesWithAttachments.pdf")
|
mainFilename = os.path.join(self.examineDir, "outputFileOverridesWithAttachments.pdf")
|
||||||
|
@ -149,6 +161,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(tempdir, attachmentFilename)))
|
self.assertTrue(os.path.exists(os.path.join(tempdir, attachmentFilename)))
|
||||||
self.assertRegex(self.getPDFText(mainFilename), "Hello!")
|
self.assertRegex(self.getPDFText(mainFilename), "Hello!")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(tempdir, attachmentFilename)), "Some\sPDF\scontent")
|
self.assertRegex(self.getPDFText(os.path.join(tempdir, attachmentFilename)), "Some\sPDF\scontent")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_remote_image_does_exist(self):
|
def test_remote_image_does_exist(self):
|
||||||
if self.isOnline:
|
if self.isOnline:
|
||||||
|
@ -159,6 +172,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
else:
|
else:
|
||||||
self.skipTest("Not online.")
|
self.skipTest("Not online.")
|
||||||
|
|
||||||
|
@ -171,6 +185,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertEqual(0, rc)
|
self.assertEqual(0, rc)
|
||||||
self.assertEqual('', error)
|
self.assertEqual('', error)
|
||||||
self.assertTrue(os.path.exists(path))
|
self.assertTrue(os.path.exists(path))
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
else:
|
else:
|
||||||
self.skipTest("Not online.")
|
self.skipTest("Not online.")
|
||||||
|
|
||||||
|
@ -184,6 +199,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, imageFilename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, imageFilename)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_non_embedded_image_jpeg_add_prefix_date(self):
|
def test_non_embedded_image_jpeg_add_prefix_date(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -195,6 +211,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, datetime.now().strftime("%Y-%m-%d-") + imageFilename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, datetime.now().strftime("%Y-%m-%d-") + imageFilename)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_non_embedded_image_png(self):
|
def test_non_embedded_image_png(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -206,6 +223,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertTrue(self.existsByTime())
|
self.assertTrue(self.existsByTime())
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, imageFilename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, imageFilename)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_non_embedded_image_and_pdf(self):
|
def test_non_embedded_image_and_pdf(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -220,6 +238,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.workingDir, imageFilename)))
|
self.assertTrue(os.path.exists(os.path.join(self.workingDir, imageFilename)))
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Hello!")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some\sPDF\scontent")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some\sPDF\scontent")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_2pdfs(self):
|
def test_2pdfs(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -237,6 +256,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename)), "Some PDF content")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename2)), "Some More PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename2)), "Some More PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_pdf_exists(self):
|
def test_pdf_exists(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -259,6 +279,7 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
self.assertRegex(self.getPDFText(self.getTimedFilename()), "Some basic textual content")
|
||||||
self.assertIsNone(self.getPDFText(os.path.join(self.workingDir, filename)))
|
self.assertIsNone(self.getPDFText(os.path.join(self.workingDir, filename)))
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, uniqueName)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, uniqueName)), "Some PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
||||||
def test_2pdfs_oneexists(self):
|
def test_2pdfs_oneexists(self):
|
||||||
self.addHeaders()
|
self.addHeaders()
|
||||||
|
@ -288,3 +309,4 @@ class TestMIME(Email2PDFTestCase):
|
||||||
self.assertIsNone(self.getPDFText(os.path.join(self.workingDir, filename)))
|
self.assertIsNone(self.getPDFText(os.path.join(self.workingDir, filename)))
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, uniqueName)), "Some PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, uniqueName)), "Some PDF content")
|
||||||
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename2)), "Some More PDF content")
|
self.assertRegex(self.getPDFText(os.path.join(self.workingDir, filename2)), "Some More PDF content")
|
||||||
|
self.assertFalse(self.existsByTimeWarning())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue