def test__get_task_runtime_history(self): evergreen_api = Mock() evergreen_api.test_stats_by_project.return_value = [ Mock( test_file="dir/test2.js", task_name="task1", variant="variant1", distro="distro1", date=_DATE, num_pass=1, num_fail=0, avg_duration_pass=10.1, ) ] analysis_duration = under_test.AVG_TEST_RUNTIME_ANALYSIS_DAYS end_date = datetime.datetime.utcnow().replace(microsecond=0) start_date = end_date - datetime.timedelta(days=analysis_duration) result = under_test._get_task_runtime_history(evergreen_api, "project1", "task1", "variant1") self.assertEqual(result, [("dir/test2.js", 10.1)]) evergreen_api.test_stats_by_project.assert_called_with( "project1", after_date=start_date.strftime("%Y-%m-%d"), before_date=end_date.strftime("%Y-%m-%d"), group_by="test", group_num_days=14, tasks=["task1"], variants=["variant1"])
def test__get_task_runtime_history_evg_degraded_mode_error(self): # pylint: disable=invalid-name response = Mock() response.status_code = requests.codes.SERVICE_UNAVAILABLE evergreen_api = Mock() evergreen_api.test_stats_by_project.side_effect = requests.HTTPError(response=response) result = under_test._get_task_runtime_history(evergreen_api, "project1", "task1", "variant1") self.assertEqual(result, [])
def test_get_task_runtime_history_with_no_api(self): self.assertListEqual([], under_test._get_task_runtime_history(None, "project", "task", "variant"))