def test_dict(self): report = DownloadReport() report.downloads['s1'] = DownloadDetails() report.downloads['s2'] = DownloadDetails() expected = { 'total_sources': 0, 'downloads': { 's1': {'total_failed': 0, 'total_succeeded': 0}, 's2': {'total_failed': 0, 'total_succeeded': 0} }, } self.assertEqual(report.dict(), expected)
def test_dict(self): report = DownloadReport() report.downloads["s1"] = DownloadDetails() report.downloads["s2"] = DownloadDetails() expected = { "total_sources": 0, "downloads": { "s1": {"total_failed": 0, "total_succeeded": 0}, "s2": {"total_failed": 0, "total_succeeded": 0}, }, } self.assertEqual(report.dict(), expected)
def test_update_rendering(self): repo_ids = ['repo_%d' % n for n in range(0, 3)] handler_report = ContentReport() summary_report = SummaryReport() summary_report.setup([{'repo_id': r} for r in repo_ids]) for r in summary_report.repository.values(): r.action = RepositoryReport.ADDED download_report = DownloadReport() download_report.downloads[PRIMARY_ID] = DownloadDetails() download_report.downloads['content-world'] = DownloadDetails() r.sources = download_report.dict() handler_report.set_succeeded(details=summary_report.dict()) renderer = UpdateRenderer(self.context.prompt, handler_report.dict()) renderer.render() self.assertEqual(len(self.recorder.lines), 59)
class SummaryReport(object): """ A report that provides both summary and details regarding the importing of content units associated with a repository. :ivar errors: List of errors. :type errors: ErrorList :ivar sources: The content sources container statistics. :type sources: DownloadReport """ def __init__(self): self.errors = ErrorList() self.sources = DownloadReport() def dict(self): """ Dictionary representation. :return: A dictionary representation. :rtype: dict """ return dict(errors=[e.dict() for e in self.errors], sources=self.sources.dict())