def testCallbackImplFailedRun(self, _):
    master_name = 'm'
    builder_name = 'b'
    build_number = 123
    step_name = 's'
    test_name = 't'
    commit_position = 1000
    isolate_sha = 'sha1'
    iterations = 50
    timeout_seconds = 1200

    run_flake_swarming_task_input = RunFlakeSwarmingTaskInput(
        builder_name=builder_name,
        commit_position=commit_position,
        isolate_sha=isolate_sha,
        iterations=iterations,
        master_name=master_name,
        reference_build_number=build_number,
        step_name=step_name,
        test_name=test_name,
        timeout_seconds=timeout_seconds)

    pipeline_job = RunFlakeSwarmingTaskPipeline(run_flake_swarming_task_input)
    result = pipeline_job.CallbackImpl(run_flake_swarming_task_input,
                                       {'task_id': 'task_id'})
    self.assertEqual(('Error getting swarming task result: m', None), result)
 def testCallbackImplNoTaskID(self, mocked_pipeline_id, mock_fn):
   mocked_pipeline_id.__get__ = mock.Mock(return_value='pipeline-id')
   pipeline_input = RunFlakeSwarmingTaskInput.FromSerializable({})
   p = RunFlakeSwarmingTaskPipeline(pipeline_input)
   result = p.CallbackImpl(pipeline_input, {})
   self.assertEqual(('Task_id not found for pipeline pipeline-id', None),
                    result)
   self.assertFalse(mock_fn.called)
  def testCallbackImplCompleted(self, mocked_output):
    master_name = 'm'
    builder_name = 'b'
    build_number = 123
    step_name = 's'
    test_name = 't'
    commit_position = 1000
    isolate_sha = 'sha1'
    iterations = 50
    timeout_seconds = 1200

    run_flake_swarming_task_input = RunFlakeSwarmingTaskInput(
        builder_name=builder_name,
        commit_position=commit_position,
        isolate_sha=isolate_sha,
        iterations=iterations,
        master_name=master_name,
        reference_build_number=build_number,
        step_name=step_name,
        test_name=test_name,
        timeout_seconds=timeout_seconds)

    flake_swarming_task_output = FlakeSwarmingTaskOutput(
        completed_time=datetime(2018, 4, 1, 0, 1, 0),
        error=None,
        iterations=iterations,
        pass_count=iterations,
        started_time=datetime(2018, 4, 1, 0, 0, 0),
        task_id='task_id')

    mocked_output.return_value = flake_swarming_task_output

    pipeline_job = RunFlakeSwarmingTaskPipeline(run_flake_swarming_task_input)
    result = pipeline_job.CallbackImpl(run_flake_swarming_task_input,
                                       {'task_id': 'task_id'})
    self.assertEqual((None, flake_swarming_task_output), result)