Spaces:
Build error
Build error
File size: 1,893 Bytes
51ff9e5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
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'
)
|