Spaces:
Build error
Build error
| from pathlib import Path | |
| import pytest | |
| from openhands.runtime.utils import files | |
| SANDBOX_PATH_PREFIX = '/workspace' | |
| CONTAINER_PATH = '/workspace' | |
| HOST_PATH = 'workspace' | |
| def test_resolve_path(): | |
| assert ( | |
| files.resolve_path('test.txt', '/workspace', HOST_PATH, CONTAINER_PATH) | |
| == Path(HOST_PATH) / 'test.txt' | |
| ) | |
| assert ( | |
| files.resolve_path('subdir/test.txt', '/workspace', HOST_PATH, CONTAINER_PATH) | |
| == Path(HOST_PATH) / 'subdir' / 'test.txt' | |
| ) | |
| assert ( | |
| files.resolve_path( | |
| Path(SANDBOX_PATH_PREFIX) / 'test.txt', | |
| '/workspace', | |
| HOST_PATH, | |
| CONTAINER_PATH, | |
| ) | |
| == Path(HOST_PATH) / 'test.txt' | |
| ) | |
| assert ( | |
| files.resolve_path( | |
| Path(SANDBOX_PATH_PREFIX) / 'subdir' / 'test.txt', | |
| '/workspace', | |
| HOST_PATH, | |
| CONTAINER_PATH, | |
| ) | |
| == Path(HOST_PATH) / 'subdir' / 'test.txt' | |
| ) | |
| assert ( | |
| files.resolve_path( | |
| Path(SANDBOX_PATH_PREFIX) / 'subdir' / '..' / 'test.txt', | |
| '/workspace', | |
| HOST_PATH, | |
| CONTAINER_PATH, | |
| ) | |
| == Path(HOST_PATH) / 'test.txt' | |
| ) | |
| with pytest.raises(PermissionError): | |
| files.resolve_path( | |
| Path(SANDBOX_PATH_PREFIX) / '..' / 'test.txt', | |
| '/workspace', | |
| HOST_PATH, | |
| CONTAINER_PATH, | |
| ) | |
| with pytest.raises(PermissionError): | |
| files.resolve_path( | |
| Path('..') / 'test.txt', '/workspace', HOST_PATH, CONTAINER_PATH | |
| ) | |
| with pytest.raises(PermissionError): | |
| files.resolve_path( | |
| Path('/') / 'test.txt', '/workspace', HOST_PATH, CONTAINER_PATH | |
| ) | |
| assert ( | |
| files.resolve_path('test.txt', '/workspace/test', HOST_PATH, CONTAINER_PATH) | |
| == Path(HOST_PATH) / 'test' / 'test.txt' | |
| ) | |