def testDSPLGenEndToEnd(self): """A simple end-to-end test of the dsplgen application.""" dsplgen.main(['-o', self.output_dir, '-q', os.path.join(self.input_dir, 'input.csv')]) self.assertTrue( os.path.isfile(os.path.join(self.output_dir, 'dataset.xml'))) self.assertTrue( os.path.isfile(os.path.join(self.output_dir, 'category1_table.csv'))) self.assertTrue( os.path.isfile(os.path.join(self.output_dir, 'slice_0_table.csv'))) self.assertTrue( os.path.isfile(os.path.join(self.output_dir, 'slice_1_table.csv'))) # Test that output validates against dsplcheck saved_stdout = sys.stdout redirected_output = StringIO.StringIO() sys.stdout = redirected_output dsplcheck.main([os.path.join(self.output_dir, 'dataset.xml')]) self.assertTrue( re.search( 'validates successfully.*Parsing completed.*' 'No issues found.*Completed', redirected_output.getvalue(), re.DOTALL)) redirected_output.close() sys.stdout = saved_stdout
def testCSVNotFound(self): """Test case in which CSV can't be opened.""" dsplgen.main(['-o', self.output_dir, '-q', os.path.join(self.input_dir, 'input.csv')]) saved_stdout = sys.stdout redirected_output = StringIO.StringIO() sys.stdout = redirected_output self.assertRaises(SystemExit, dsplgen.main, ['-q', 'non_existent_input_file.csv']) self.assertTrue('Error opening CSV file' in redirected_output.getvalue()) redirected_output.close() sys.stdout = saved_stdout