def test_related_tasks_returned_from_selected_tests_service( self, selected_tests_service_mock): selected_tests_service_mock.get_task_mappings.return_value = [ { "source_file": "src/file1.cpp", "tasks": [{ "name": "my_task_1" }], }, { "source_file": "src/file2.cpp", "tasks": [{ "name": "my_task_2" }], }, ] changed_files = {"src/file1.cpp", "src/file2.js"} build_variant_conf = MagicMock() build_variant_conf.get_task.return_value = _evergreen.Task( {"name": "my_task_1"}) related_tasks = under_test._find_selected_tasks( selected_tests_service_mock, changed_files, build_variant_conf) self.assertEqual(related_tasks, {"my_task_1"})
def test_returned_tasks_do_not_exist(self, selected_tests_service_mock): selected_tests_service_mock.get_task_mappings.return_value = [ { "source_file": "src/file1.cpp", "tasks": [{"name": "my_task_1"}], }, ] changed_files = {"src/file1.cpp", "src/file2.js"} build_variant_conf = MagicMock() build_variant_conf.get_task.return_value = None related_tasks = under_test._find_selected_tasks(selected_tests_service_mock, changed_files, build_variant_conf) self.assertEqual(related_tasks, set())
def test_returned_tasks_should_be_excluded(self, selected_tests_service_mock): excluded_task = under_test.EXCLUDE_TASK_LIST[0] selected_tests_service_mock.get_task_mappings.return_value = [ { "source_file": "src/file1.cpp", "tasks": [{"name": excluded_task}], }, ] changed_files = {"src/file1.cpp", "src/file2.js"} build_variant_conf = MagicMock() build_variant_conf.get_task.return_value = _evergreen.Task({"name": excluded_task}) related_tasks = under_test._find_selected_tasks(selected_tests_service_mock, changed_files, build_variant_conf) self.assertEqual(related_tasks, set())
def test_related_tasks_returned_from_selected_tests_service(self, selected_tests_service_mock): selected_tests_service_mock.get_task_mappings.return_value = [ { "source_file": "src/file1.cpp", "tasks": [{"name": "my_task_1"}], }, { "source_file": "src/file2.cpp", "tasks": [{"name": "my_task_2"}], }, ] changed_files = {"src/file1.cpp", "src/file2.js"} related_tasks = under_test._find_selected_tasks(selected_tests_service_mock, changed_files) self.assertEqual(related_tasks, {"my_task_1", "my_task_2"})
def test_returned_tasks_match_excluded_pattern(self, selected_tests_service_mock): task_that_matches_exclude_pattern = "compile_all" selected_tests_service_mock.get_task_mappings.return_value = [ { "source_file": "src/file1.cpp", "tasks": [{"name": task_that_matches_exclude_pattern}], }, ] changed_files = {"src/file1.cpp", "src/file2.js"} build_variant_conf = MagicMock() build_variant_conf.get_task.return_value = _evergreen.Task( {"name": task_that_matches_exclude_pattern}) related_tasks = under_test._find_selected_tasks(selected_tests_service_mock, changed_files, build_variant_conf) self.assertEqual(related_tasks, set())