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' | |
) | |