Initial implementation of Test Planner Overview tab
Signed-off-by: James Ren <jamesren@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@4503 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/frontend/planner/rpc_interface_unittest.py b/frontend/planner/rpc_interface_unittest.py
index 0048307..f36d458 100644
--- a/frontend/planner/rpc_interface_unittest.py
+++ b/frontend/planner/rpc_interface_unittest.py
@@ -232,5 +232,52 @@
self.assertEqual(sorted(actual), sorted(expected))
+ def _test_get_overview_data_helper(self, stage):
+ self._setup_active_plan()
+ self.god.stub_function(rpc_utils, 'compute_passed')
+ rpc_utils.compute_passed.expect_call(
+ self._plan.host_set.get(host=self.hosts[0])).and_return(None)
+ rpc_utils.compute_passed.expect_call(
+ self._plan.host_set.get(host=self.hosts[1])).and_return(None)
+
+ data = {'test_configs': [{'complete': 0, 'estimated_runtime': 1}],
+ 'bugs': [],
+ 'machines': [{'hostname': self.hosts[0].hostname,
+ 'status': 'Running',
+ 'passed': None},
+ {'hostname': self.hosts[1].hostname,
+ 'status': 'Running',
+ 'passed': None}]}
+ if stage < 1:
+ return {self._plan.name: data}
+
+ tko_test = self._tko_job.test_set.create(kernel=self._tko_kernel,
+ machine=self._tko_machine,
+ status=self._fail_status)
+ test_run = self._plan.testrun_set.create(test_job=self._planner_job,
+ tko_test=tko_test,
+ host=self._planner_host)
+ self._afe_job.hostqueueentry_set.update(status='Completed')
+ self._planner_host.complete = True
+ self._planner_host.save()
+ test_run.bugs.create(external_uid='bug')
+ data['bugs'] = ['bug']
+ data['test_configs'][0]['complete'] = 1
+ data['machines'][0]['status'] = 'Finished'
+ return {self._plan.name: data}
+
+
+ def test_get_overview_data_no_progress(self):
+ self.assertEqual(self._test_get_overview_data_helper(0),
+ rpc_interface.get_overview_data([self._plan.id]))
+ self.god.check_playback()
+
+
+ def test_get_overview_data_one_finished_with_bug(self):
+ self.assertEqual(self._test_get_overview_data_helper(1),
+ rpc_interface.get_overview_data([self._plan.id]))
+ self.god.check_playback()
+
+
if __name__ == '__main__':
unittest.main()