diff --git a/tests/BaseTestClasses.py b/tests/BaseTestClasses.py index 6abcbd0..ff15de1 100644 --- a/tests/BaseTestClasses.py +++ b/tests/BaseTestClasses.py @@ -96,7 +96,7 @@ class Email2PDFTestCase(unittest.TestCase): self.msg['Date'] = formatdate() - def invokeAsSubprocess(self, inputFile=False, outputDirectory=None, outputFile=None, extraParams=[]): + def invokeAsSubprocess(self, inputFile=False, outputDirectory=None, outputFile=None, extraParams=[], expectOutput=False): bytesMessage = self.msg.as_bytes() options = [Email2PDFTestCase.COMMAND] @@ -135,7 +135,10 @@ class Email2PDFTestCase(unittest.TestCase): output = str(output, "utf-8") error = str(error, "utf-8") - self.assertEqual("", output) + if expectOutput: + self.assertNotEqual("", output) + else: + self.assertEqual("", output) if inputFile: inputFile_handle.close() diff --git a/tests/test_Subprocess_Basic.py b/tests/test_Subprocess_Basic.py index bf14836..4c3ab78 100644 --- a/tests/test_Subprocess_Basic.py +++ b/tests/test_Subprocess_Basic.py @@ -11,6 +11,17 @@ class TestBasic(BaseTestClasses.Email2PDFTestCase): super(TestBasic, self).setUp() self.msg = Message() + def test_help(self): + (rc, output, error) = self.invokeAsSubprocess(extraParams=['--help'], expectOutput=True) + self.assertEqual(0, rc) + self.assertRegex(output, 'usage:') + self.assertEqual(error, '') + + def test_invalid_option(self): + (rc, output, error) = self.invokeAsSubprocess(extraParams=['--invalid-option']) + self.assertEqual(2, rc) + self.assertRegex(error, 'ERROR: unrecognized.*') + def test_dontPrintBody(self): (rc, output, error) = self.invokeAsSubprocess(extraParams=['--no-body']) self.assertEqual(1, rc)