class ReportsProcessorTests(unittest.TestCase): def setUp(self): self.reports_processor = ReportsProcessor(Mock(), Mock()) total_time = Mock() total_time.get_millis.return_value = 42 self.reports_processor.process_reports([], total_time) def test_should_raise_exception_when_not_all_tests_pass(self): self.reports_processor.tests_failed = 1 self.assertRaises(BuildFailedException, self.reports_processor.write_report_and_ensure_all_tests_passed) def test_should_not_raise_exception_when_all_tests_pass(self): self.reports_processor.tests_failed = 0 self.reports_processor.write_report_and_ensure_all_tests_passed() @patch("pybuilder.plugins.python.test_plugin_helper.render_report", return_value='rendered-report') def test_should_write_report(self, render_report): self.reports_processor.write_report_and_ensure_all_tests_passed() self.reports_processor.project.write_report.assert_called_with("integrationtest.json", 'rendered-report') def test_should_parse_reports(self): reports = [ {'test': 'name1', 'test_file': 'file1', 'success': False, 'time': 1}, {'test': 'name2', 'test_file': 'file2', 'success': False, 'time': 2}, {'test': 'name3', 'test_file': 'file3', 'success': True, 'time': 3}, {'test': 'name4', 'test_file': 'file4', 'success': True, 'time': 4} ] self.reports_processor.process_reports(reports, Mock()) self.assertEqual(self.reports_processor.tests_failed, 2) self.assertEqual(self.reports_processor.tests_executed, 4) def test_should_create_test_report_with_attributes(self): mock_time = Mock() mock_time.get_millis.return_value = 42 self.reports_processor.process_reports([], mock_time) self.reports_processor.tests_failed = 4 self.reports_processor.tests_executed = 42 self.reports_processor.reports = ['a', 'b', 'c'] self.assertEqual(self.reports_processor.test_report, { 'num_of_tests': 42, 'success': False, 'tests': ['a', 'b', 'c'], 'tests_failed': 4, 'time': 42 } )
def run_acceptance_tests(project, logger): if not project.get_property("acceptancetest_parallel"): reports, total_time = run_acceptance_tests_sequentially( project, logger) else: reports, total_time = run_acceptance_tests_in_parallel( project, logger) reports_processor = ReportsProcessor(project, logger) reports_processor.process_reports(reports, total_time) reports_processor.write_report_and_ensure_all_tests_passed()
def run_integration_tests(project, logger): if not project.get_property("integrationtest_parallel"): reports, total_time = run_integration_tests_sequentially( project, logger) else: reports, total_time = run_integration_tests_in_parallel( project, logger) reports_processor = ReportsProcessor(project, logger) reports_processor.process_reports(reports, total_time) reports_processor.report_to_ci_server(project) reports_processor.write_report_and_ensure_all_tests_passed()
def run_integration_tests(project, logger, reactor): if project.get_property("integrationtest_parallel"): logger.warn("Parallel integration test execution is temporarily disabled") # if not project.get_property("integrationtest_parallel"): reports, total_time = run_integration_tests_sequentially(project, logger, reactor) # else: # reports, total_time = run_integration_tests_in_parallel(project, logger) reports_processor = ReportsProcessor(project, logger) reports_processor.process_reports(reports, total_time) reports_processor.report_to_ci_server(project) reports_processor.write_report_and_ensure_all_tests_passed()
def setUp(self): self.reports_processor = ReportsProcessor(mock(), mock()) self.reports_processor.process_reports([], mock())
class ReportsProcessorTests(unittest.TestCase): def setUp(self): self.reports_processor = ReportsProcessor(mock(), mock()) self.reports_processor.process_reports([], mock()) def tearDown(self): unstub() def test_should_raise_exception_when_not_all_tests_pass(self): self.reports_processor.tests_failed = 1 self.assertRaises( BuildFailedException, self.reports_processor.write_report_and_ensure_all_tests_passed) def test_should_not_raise_exception_when_all_tests_pass(self): self.reports_processor.tests_failed = 0 self.reports_processor.write_report_and_ensure_all_tests_passed() def test_should_write_report(self): when(pybuilder.plugins.python.test_plugin_helper).render_report( any()).thenReturn('rendered-report') self.reports_processor.write_report_and_ensure_all_tests_passed() verify(self.reports_processor.project).write_report( "integrationtest.json", 'rendered-report') def test_should_parse_reports(self): reports = [ {'test': 'name1', 'test_file': 'file1', 'success': False, 'time': 1}, {'test': 'name2', 'test_file': 'file2', 'success': False, 'time': 2}, {'test': 'name3', 'test_file': 'file3', 'success': True, 'time': 3}, {'test': 'name4', 'test_file': 'file4', 'success': True, 'time': 4} ] self.reports_processor.process_reports(reports, mock()) self.assertEqual(self.reports_processor.tests_failed, 2) self.assertEqual(self.reports_processor.tests_executed, 4) def test_should_create_test_report_with_attributes(self): mock_time = mock() when(mock_time).get_millis().thenReturn(42) self.reports_processor.process_reports([], mock_time) self.reports_processor.tests_failed = 4 self.reports_processor.tests_executed = 42 self.reports_processor.reports = ['a', 'b', 'c'] self.assertEqual(self.reports_processor.test_report, { 'num_of_tests': 42, 'success': False, 'tests': ['a', 'b', 'c'], 'tests_failed': 4, 'time': 42 } )
def setUp(self): self.reports_processor = ReportsProcessor(Mock(), Mock()) total_time = Mock() total_time.get_millis.return_value = 42 self.reports_processor.process_reports([], total_time)
class ReportsProcessorTests(unittest.TestCase): def setUp(self): self.reports_processor = ReportsProcessor(Mock(), Mock()) total_time = Mock() total_time.get_millis.return_value = 42 self.reports_processor.process_reports([], total_time) def test_should_raise_exception_when_not_all_tests_pass(self): self.reports_processor.tests_failed = 1 self.assertRaises( BuildFailedException, self.reports_processor.write_report_and_ensure_all_tests_passed) def test_should_not_raise_exception_when_all_tests_pass(self): self.reports_processor.tests_failed = 0 self.reports_processor.write_report_and_ensure_all_tests_passed() @patch("pybuilder.plugins.python.test_plugin_helper.render_report", return_value='rendered-report') def test_should_write_report(self, render_report): self.reports_processor.write_report_and_ensure_all_tests_passed() self.reports_processor.project.write_report.assert_called_with( "integrationtest.json", 'rendered-report') def test_should_parse_reports(self): reports = [{ 'test': 'name1', 'test_file': 'file1', 'success': False, 'time': 1 }, { 'test': 'name2', 'test_file': 'file2', 'success': False, 'time': 2 }, { 'test': 'name3', 'test_file': 'file3', 'success': True, 'time': 3 }, { 'test': 'name4', 'test_file': 'file4', 'success': True, 'time': 4 }] self.reports_processor.process_reports(reports, Mock()) self.assertEqual(self.reports_processor.tests_failed, 2) self.assertEqual(self.reports_processor.tests_executed, 4) def test_should_create_test_report_with_attributes(self): mock_time = Mock() mock_time.get_millis.return_value = 42 self.reports_processor.process_reports([], mock_time) self.reports_processor.tests_failed = 4 self.reports_processor.tests_executed = 42 self.reports_processor.reports = ['a', 'b', 'c'] self.assertEqual( self.reports_processor.test_report, { 'num_of_tests': 42, 'success': False, 'tests': ['a', 'b', 'c'], 'tests_failed': 4, 'time': 42 })