Spaces:
Paused
Paused
| import os | |
| import shutil | |
| from pathlib import Path | |
| from unittest.mock import MagicMock, mock_open, patch | |
| import pytest | |
| from _pytest.monkeypatch import MonkeyPatch | |
| from tests.unit_tests.oss.__mock.base import ( | |
| get_example_data, | |
| get_example_filename, | |
| get_example_filepath, | |
| get_example_folder, | |
| ) | |
| class MockLocalFSClass: | |
| def write_bytes(self, data): | |
| assert data == get_example_data() | |
| def read_bytes(self): | |
| return get_example_data() | |
| def copyfile(src, dst): | |
| assert src == os.path.join(get_example_folder(), get_example_filename()) | |
| assert dst == get_example_filepath() | |
| def exists(path): | |
| assert path == os.path.join(get_example_folder(), get_example_filename()) | |
| return True | |
| def remove(path): | |
| assert path == os.path.join(get_example_folder(), get_example_filename()) | |
| MOCK = os.getenv("MOCK_SWITCH", "false").lower() == "true" | |
| def setup_local_fs_mock(monkeypatch: MonkeyPatch): | |
| if MOCK: | |
| monkeypatch.setattr(Path, "write_bytes", MockLocalFSClass.write_bytes) | |
| monkeypatch.setattr(Path, "read_bytes", MockLocalFSClass.read_bytes) | |
| monkeypatch.setattr(shutil, "copyfile", MockLocalFSClass.copyfile) | |
| monkeypatch.setattr(os.path, "exists", MockLocalFSClass.exists) | |
| monkeypatch.setattr(os, "remove", MockLocalFSClass.remove) | |
| os.makedirs = MagicMock() | |
| with patch("builtins.open", mock_open(read_data=get_example_data())): | |
| yield | |
| if MOCK: | |
| monkeypatch.undo() | |