35 lines
855 B
Python
35 lines
855 B
Python
from __future__ import annotations
|
|
|
|
import os.path
|
|
from unittest import mock
|
|
|
|
import pytest
|
|
|
|
from pre_commit.commands.clean import clean
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def fake_old_dir(tempdir_factory):
|
|
fake_old_dir = tempdir_factory.get()
|
|
|
|
def _expanduser(path, *args, **kwargs):
|
|
assert path == '~/.pre-commit'
|
|
return fake_old_dir
|
|
|
|
with mock.patch.object(os.path, 'expanduser', side_effect=_expanduser):
|
|
yield fake_old_dir
|
|
|
|
|
|
def test_clean(store, fake_old_dir):
|
|
assert os.path.exists(fake_old_dir)
|
|
assert os.path.exists(store.directory)
|
|
clean(store)
|
|
assert not os.path.exists(fake_old_dir)
|
|
assert not os.path.exists(store.directory)
|
|
|
|
|
|
def test_clean_idempotent(store):
|
|
clean(store)
|
|
assert not os.path.exists(store.directory)
|
|
clean(store)
|
|
assert not os.path.exists(store.directory)
|