code: def test_release_move_from_failing_to_passing():
      test = Test(name="test", team="ci")
      test.test_results = [
          TestResult.from_result(
              Result(status=ResultStatus.ERROR.value)
          ),
          TestResult.from_result(
              Result(status=ResultStatus.ERROR.value)
          ),
      ]
      sm = ReleaseTestStateMachine(test)
      sm.move()
      assert test.get_state() == TestState.CONSITENTLY_FAILING
      assert (
          test[Test.KEY_GITHUB_ISSUE_NUMBER] == MockIssueDB.issue_id - 1
      )
      test.test_results.insert(
          0,
          TestResult.from_result(
              Result(status=ResultStatus.SUCCESS.value)
          ),
      )
      sm = ReleaseTestStateMachine(test)
      sm.move()
      assert test.get_state() == TestState.PASSING
      assert test.get(Test.KEY_GITHUB_ISSUE_NUMBER) is None
      assert test.get(Test.KEY_BISECT_BUILD_NUMBER) is None
      assert test.get(Test.KEY_BISECT_BLAMED_COMMIT) is None
  
imports: import sys
  from typing import List, Optional
  import pytest
  from ray_release.test import Test, TestResult, TestState
  from ray_release.result import Result, ResultStatus
  from ray_release.test_automation.release_state_machine import ReleaseTestStateMachine
  from ray_release.test_automation.ci_state_machine import CITestStateMachine, CONTINUOUS_FAILURE_TO_FLAKY, CONTINUOUS_PASSING_TO_PASSING, FAILING_TO_FLAKY_MESSAGE, JAILED_TAG, JAILED_MESSAGE
  from ray_release.test_automation.state_machine import TestStateMachine
label_desc: Use image node_id 5 for calling a global function with example usage: test_release_move_from_failing_to_passing() without return types