"""Test evaluation base.""" # pylint: disable=import-error,protected-access from pathlib import Path from unittest.mock import AsyncMock, patch from supervisor.coresys import CoreSys from supervisor.resolution.const import ContextType, IssueType, SuggestionType from supervisor.resolution.data import Issue, Suggestion from supervisor.resolution.fixups.store_execute_reset import FixupStoreExecuteReset async def test_fixup(coresys: CoreSys, tmp_path): """Test fixup.""" store_execute_reset = FixupStoreExecuteReset(coresys) test_repo = Path(tmp_path, "test_repo") assert store_execute_reset.auto coresys.resolution.suggestions = Suggestion( SuggestionType.EXECUTE_RESET, ContextType.STORE, reference="test" ) coresys.resolution.issues = Issue( IssueType.CORRUPT_REPOSITORY, ContextType.STORE, reference="test" ) test_repo.mkdir() assert test_repo.exists() mock_repositorie = AsyncMock() mock_repositorie.git.path = test_repo coresys.store.repositories["test"] = mock_repositorie with patch("shutil.disk_usage", return_value=(42, 42, 2 * (1024.0**3))): await store_execute_reset() assert not test_repo.exists() assert mock_repositorie.load.called assert len(coresys.resolution.suggestions) == 0 assert len(coresys.resolution.issues) == 0