コード例 #1
0
 def test_display_no_snapshot(self):
     reports = [
         {'repo_id': 1, 'state': 'merging'},
         {'repo_id': 2, 'state': 'merging'},
         {'repo_id': 3, 'state': 'merging'},
     ]
     report = {
         'progress': reports
     }
     mock_prompt = Mock()
     snapshot = [(r, Mock()) for r in reports]
     mock_prompt.create_progress_bar.side_effect = [s[1] for s in snapshot]
     tracker = ProgressTracker(mock_prompt)
     tracker._render = Mock()
     tracker.display(report)
     self.assertEqual(tracker.snapshot, snapshot)
     tracker._render.assert_has_calls([call(r, pb) for r, pb in snapshot])
     mock_prompt.write.assert_has_calls(
         [
             call('\n'),
             call('(1/3) Repository: 1'),
             call('\n'),
             call('(2/3) Repository: 2'),
             call('\n'),
             call('(3/3) Repository: 3')
         ]
     )
コード例 #2
0
 def test_display_with_snapshot(self):
     reports = [
         {'repo_id': 1, 'state': 'import_finished'},
         {'repo_id': 2, 'state': 'import_finished'},
         {'repo_id': 3, 'state': 'import_finished'},
         {'repo_id': 4, 'state': 'import_finished'},
         {'repo_id': 5, 'state': 'import_finished'},
         {'repo_id': 6, 'state': 'merging'},
     ]
     report = {
         'progress': reports
     }
     mock_prompt = Mock()
     snapshot = [(r, Mock()) for r in reports]
     mock_prompt.create_progress_bar.side_effect = [s[1] for s in snapshot[3:]]
     tracker = ProgressTracker(mock_prompt)
     tracker.snapshot = snapshot[:3]
     tracker._render = Mock()
     tracker.display(report)
     self.assertEqual(tracker.snapshot, snapshot)
     tracker._render.assert_has_calls([call(r, pb) for r, pb in snapshot[3:]])
     mock_prompt.write.assert_has_calls(
         [
             call('\n'),
             call('(4/6) Repository: 4'),
             call('\n'),
             call('(5/6) Repository: 5'),
             call('\n'),
             call('(6/6) Repository: 6')
         ]
     )
コード例 #3
0
 def test_display_no_snapshot(self):
     reports = [
         {
             'repo_id': 1,
             'state': 'merging'
         },
         {
             'repo_id': 2,
             'state': 'merging'
         },
         {
             'repo_id': 3,
             'state': 'merging'
         },
     ]
     report = {'progress': reports}
     mock_prompt = Mock()
     snapshot = [(r, Mock()) for r in reports]
     mock_prompt.create_progress_bar.side_effect = [s[1] for s in snapshot]
     tracker = ProgressTracker(mock_prompt)
     tracker._render = Mock()
     tracker.display(report)
     self.assertEqual(tracker.snapshot, snapshot)
     tracker._render.assert_has_calls([call(r, pb) for r, pb in snapshot])
     mock_prompt.write.assert_has_calls([
         call('\n'),
         call('(1/3) Repository: 1'),
         call('\n'),
         call('(2/3) Repository: 2'),
         call('\n'),
         call('(3/3) Repository: 3')
     ])
コード例 #4
0
 def test_render(self):
     report = {
         'repo_id': 1,
         'state': 'adding_units',
         'unit_add': {
             'total': 10,
             'completed': 5,
             'details': 'http://redhat.com/foo/bar.unit'
         }
     }
     progress_bar = Mock()
     ProgressTracker._render(report, progress_bar)
     progress_bar.render.assert_called_with(5, 10, 'Step: Adding Units\n(5/10) Add unit: bar.unit')
コード例 #5
0
 def test_render_zero_total_and_not_finished(self):
     report = {
         'repo_id': 1,
         'state': 'merging',
         'unit_add': {
             'total': 0,
             'completed': 0,
             'details': ''
         }
     }
     progress_bar = Mock()
     ProgressTracker._render(report, progress_bar)
     progress_bar.render.assert_called_with(0.01, 1)
コード例 #6
0
 def test_render_zero_total_and_not_finished(self):
     report = {
         'repo_id': 1,
         'state': 'merging',
         'unit_add': {
             'total': 0,
             'completed': 0,
             'details': ''
         }
     }
     progress_bar = Mock()
     ProgressTracker._render(report, progress_bar)
     progress_bar.render.assert_called_with(0.01, 1)
コード例 #7
0
 def test_render_not_adding_units(self):
     report = {
         'repo_id': 1,
         'state': 'merging',
         'unit_add': {
             'total': 10,
             'completed': 5,
             'details': ''
         }
     }
     progress_bar = Mock()
     ProgressTracker._render(report, progress_bar)
     progress_bar.render.assert_called_with(5, 10, None)
コード例 #8
0
 def test_render_not_adding_units(self):
     report = {
         'repo_id': 1,
         'state': 'merging',
         'unit_add': {
             'total': 10,
             'completed': 5,
             'details': ''
         }
     }
     progress_bar = Mock()
     ProgressTracker._render(report, progress_bar)
     progress_bar.render.assert_called_with(5, 10, None)
コード例 #9
0
 def test_render(self):
     report = {
         'repo_id': 1,
         'state': 'adding_units',
         'unit_add': {
             'total': 10,
             'completed': 5,
             'details': 'http://redhat.com/foo/bar.unit'
         }
     }
     progress_bar = Mock()
     ProgressTracker._render(report, progress_bar)
     progress_bar.render.assert_called_with(5, 10, 'Step: Adding Units\n(5/10) Add unit: bar.unit')
コード例 #10
0
 def test_find(self):
     reports = [
         {'repo_id': 1, 'state': 'merging'},
         {'repo_id': 2, 'state': 'merging'},
         {'repo_id': 3, 'state': 'merging'},
     ]
     self.assertEqual(ProgressTracker._find(2, reports), reports[1])
コード例 #11
0
ファイル: commands.py プロジェクト: pombreda/pulp
 def __init__(self, context):
     super(NodeUpdateCommand, self).__init__(UPDATE_NAME, UPDATE_DESC,
                                             self.run, context)
     self.add_option(NODE_ID_OPTION)
     self.add_option(MAX_CONCURRENCY_OPTION)
     self.add_option(MAX_BANDWIDTH_OPTION)
     self.tracker = ProgressTracker(self.context.prompt)
コード例 #12
0
 def test_find(self):
     reports = [
         {'repo_id': 1, 'state': 'merging'},
         {'repo_id': 2, 'state': 'merging'},
         {'repo_id': 3, 'state': 'merging'},
     ]
     self.assertEqual(ProgressTracker._find(2, reports), reports[1])
コード例 #13
0
 def test_display_with_snapshot(self):
     reports = [
         {'repo_id': 1, 'state': 'import_finished'},
         {'repo_id': 2, 'state': 'import_finished'},
         {'repo_id': 3, 'state': 'import_finished'},
         {'repo_id': 4, 'state': 'import_finished'},
         {'repo_id': 5, 'state': 'import_finished'},
         {'repo_id': 6, 'state': 'merging'},
     ]
     report = {
         'progress': reports
     }
     mock_prompt = Mock()
     snapshot = [(r, Mock()) for r in reports]
     mock_prompt.create_progress_bar.side_effect = [s[1] for s in snapshot[3:]]
     tracker = ProgressTracker(mock_prompt)
     tracker.snapshot = snapshot[:3]
     tracker._render = Mock()
     tracker.display(report)
     self.assertEqual(tracker.snapshot, snapshot)
     tracker._render.assert_has_calls([call(r, pb) for r, pb in snapshot[3:]])
     mock_prompt.write.assert_has_calls(
         [
             call('\n'),
             call('(4/6) Repository: 4'),
             call('\n'),
             call('(5/6) Repository: 5'),
             call('\n'),
             call('(6/6) Repository: 6')
         ]
     )
コード例 #14
0
 def test_display_none(self):
     fake_prompt = Mock()
     tracker = ProgressTracker(fake_prompt)
     tracker.display(None)
コード例 #15
0
 def test_display_no_report(self):
     fake_prompt = Mock()
     tracker = ProgressTracker(fake_prompt)
     tracker.display({})
コード例 #16
0
 def test_display_none(self):
     fake_prompt = Mock()
     tracker = ProgressTracker(fake_prompt)
     tracker.display(None)
コード例 #17
0
 def test_display_no_report(self):
     fake_prompt = Mock()
     tracker = ProgressTracker(fake_prompt)
     tracker.display({})