def test_create_report_with_valid_history( # pylint: disable=too-many-arguments self, mock_add_report, mock_filename, mock_process, mock_resource_listdir, mock_write_file, mock_create_dir, mock_project): """ Tests if it does add a history record when it has history file name.""" mock_filename.return_value = 'history.json' mock_process.return_value = 'formatted report' mock_resource_listdir.return_value = [] mock_project.return_value = MagicMock(metric_sources=MagicMock( return_value=[CompactHistory('')])) reporter = quality_report.Reporter('folder').create_report( 'report_dir') mock_filename.assert_called_once() mock_add_report.assert_called_once_with(reporter) mock_write_file.assert_called() mock_create_dir.assert_called() self.assertTrue(reporter)
def test_create_report_with_empty_history( # pylint: disable=too-many-arguments self, mock_name, mock_metrics, mock_process, mock_resource_listdir, mock_write_file, mock_create_dir, mock_project): """ Tests if it creates all report files and directories.""" mock_name.return_value = 'QR Name' mock_metrics.return_value = MagicMock() mock_process.return_value = 'formatted report' mock_resource_listdir.return_value = [] mock_create_dir.return_value = 'unimportant' mock_write_file.return_value = 'unimportant' mock_project.metric_sources.return_value = [] reporter = quality_report.Reporter('folder').create_report( 'report_dir', True) report_dir = pathlib.Path('report_dir').resolve() self.assertTrue( all(b in mock_create_dir.call_args_list for b in [ call(report_dir), call(report_dir / 'json'), call(report_dir / 'img'), call(report_dir / 'dist'), call(report_dir / 'chart'), ])) mock_resource_listdir.assert_has_calls([ call('hqlib.app', 'img'), call('hqlib.app', 'dist'), call('hqlib.app', 'html') ]) mock_write_file.assert_has_calls([ call('formatted report', report_dir / 'json' / 'metrics.json', 'w', 'utf-8'), call('[]\n', report_dir / 'json' / 'meta_history.json', 'w', 'utf-8'), call(ANY, report_dir / 'json' / 'meta_data.json', 'w', 'utf-8'), call('', report_dir / 'json' / 'dates.txt', encoding=None, mode='w') ]) self.assertEqual('QR Name', reporter.name())
def test_init(self, mock_project): """ Test if configuration project function is called """ reporter = quality_report.Reporter('folder') mock_project.assert_called_once_with('folder') self.assertTrue(reporter)