def testOnSwarmingTaskStateChangedCompleted(self, mocked_parse, mocked_result): task_id = 'task_id' task_data = { 'state': constants.STATE_COMPLETED, } mocked_result.return_value = task_data, None, None commit_position = 1000 isolate_sha = 'sha1' iterations = 50 timeout_seconds = 1200 parameters = RunFlakeSwarmingTaskInput(builder_name='b', commit_position=commit_position, isolate_sha=isolate_sha, iterations=iterations, master_name='m', reference_build_number=123, step_name='s', test_name='t', timeout_seconds=timeout_seconds) flake_swarming.OnSwarmingTaskStateChanged(parameters, task_id) mocked_parse.assert_called_once_with(task_data, None, None, parameters)
def CallbackImpl(self, pipeline_parameters, callback_parameters): """Returns the results of the swarming task.""" if not callback_parameters.get('task_id'): # Task_id is not saved in callback parameters yet, retries the callback. return 'Task_id not found for pipeline %s' % self.pipeline_id, None task_id = callback_parameters['task_id'] try: results = flake_swarming.OnSwarmingTaskStateChanged( pipeline_parameters, task_id) if not results: # No task state, further callback is needed. return None return None, results except exceptions.RetryException as e: # Indicate an error to retry. return ('Error getting swarming task result: {}'.format( e.error_message), None)
def testOnSwarmingTaskStateChangedRunning(self, mocked_result): task_id = 'task_id' task_data = {'state': constants.STATE_RUNNING} mocked_result.return_value = task_data, None, None commit_position = 1000 isolate_sha = 'sha1' iterations = 50 timeout_seconds = 1200 parameters = RunFlakeSwarmingTaskInput(builder_name='b', commit_position=commit_position, isolate_sha=isolate_sha, iterations=iterations, master_name='m', reference_build_number=123, step_name='s', test_name='t', timeout_seconds=timeout_seconds) self.assertIsNone( flake_swarming.OnSwarmingTaskStateChanged(parameters, task_id))
def testOnSwarmingTaskStateChangedNoTaskData(self, mocked_error, mocked_result): commit_position = 1000 isolate_sha = 'sha1' iterations = 50 timeout_seconds = 1200 parameters = RunFlakeSwarmingTaskInput(builder_name='b', commit_position=commit_position, isolate_sha=isolate_sha, iterations=iterations, master_name='m', reference_build_number=123, step_name='s', test_name='t', timeout_seconds=timeout_seconds) task_id = 'task_id' mocked_result.return_value = None, None, None flake_swarming.OnSwarmingTaskStateChanged(parameters, task_id) mocked_error.assert_called_once_with(task_id, None)