def METHOD_NAME(
    mocker: MockerFixture,
    action: str,
    event: Dict[str, Dict[str, str]],
    result: Dict[str, Optional[str]],
    repo_args: str,
) -> None:
    """test github event parsing from taskcluster"""
    repo = mocker.patch("orion_decision.git.GitRepo")
    repo.return_value.message.return_value = "Test commit message"
    repo.return_value.git_call.return_value = 0
    evt = GithubEvent.from_taskcluster(action, event)
    assert evt.repo is repo.return_value
    assert repo.call_args == repo_args
    assert repo.return_value.cleanup.call_count == 0
    evt.cleanup()
    assert repo.return_value.cleanup.call_count == 1
    for attr, value in result.items():
        assert getattr(evt, attr) == value