code: def test_release_commits(fake_issue_tracker, version, ncommits):
      r = Release(version, repo=None, issue_tracker=fake_issue_tracker)
      assert len(r.commits) == ncommits
      for c in r.commits:
          assert isinstance(c, Commit)
          assert isinstance(c.title, CommitTitle)
          assert c.url.endswith(c.hexsha)
  
file_path: arrow/dev/archery/archery/release/tests/test_release.py
imports: import pytest
  from archery.release.core import Release, MajorRelease, MinorRelease, PatchRelease, IssueTracker, Version, Issue, CommitTitle, Commit
  from archery.testing import DotDict
label_desc: Use image node_id 8 for calling a global function with example usage: test_release_commits(fake_issue_tracker, version, ncommits) without return types