Skip to content

Commit 8e24b0f

Browse files
committed
test(submodule): cover Submodule.deinit() arg ordering
Adds a targeted unit test that mocks Git.submodule and verifies deinit() calls git submodule with ("deinit", "--", path) and deinit(force=True) with ("deinit", "--force", "--", path), per Copilot review feedback.
1 parent 61ca278 commit 8e24b0f

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

test/test_submodule.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,21 @@ def test_iter_items_from_invalid_hash(self):
718718
next(it)
719719
self.assertIsNone(ctx.exception.value)
720720

721+
@with_rw_directory
722+
def test_deinit_calls_git_submodule(self, rwdir):
723+
repo = git.Repo.init(rwdir)
724+
submodule = Submodule(repo, b"\0" * 20, name="module", path="module")
725+
726+
with mock.patch.object(Git, "submodule", create=True) as git_submodule:
727+
submodule.deinit()
728+
729+
git_submodule.assert_called_once_with("deinit", "--", submodule.path)
730+
git_submodule.reset_mock()
731+
732+
submodule.deinit(force=True)
733+
734+
git_submodule.assert_called_once_with("deinit", "--force", "--", submodule.path)
735+
721736
@with_rw_repo(k_no_subm_tag, bare=False)
722737
def test_first_submodule(self, rwrepo):
723738
assert len(list(rwrepo.iter_submodules())) == 0

0 commit comments

Comments
 (0)