aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/test_workspace.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/test_workspace.py')
-rw-r--r--tests/unit/test_workspace.py99
1 files changed, 0 insertions, 99 deletions
diff --git a/tests/unit/test_workspace.py b/tests/unit/test_workspace.py
deleted file mode 100644
index fbe14d8cb..000000000
--- a/tests/unit/test_workspace.py
+++ /dev/null
@@ -1,99 +0,0 @@
-import itertools
-from pathlib import Path
-
-import pytest
-
-from autogpt.workspace import Workspace
-
-_WORKSPACE_ROOT = Path("home/users/monty/auto_gpt_workspace")
-
-_ACCESSIBLE_PATHS = [
- Path("."),
- Path("test_file.txt"),
- Path("test_folder"),
- Path("test_folder/test_file.txt"),
- Path("test_folder/.."),
- Path("test_folder/../test_file.txt"),
- Path("test_folder/../test_folder"),
- Path("test_folder/../test_folder/test_file.txt"),
-]
-
-_INACCESSIBLE_PATHS = (
- [
- # Takes us out of the workspace
- Path(".."),
- Path("../test_file.txt"),
- Path("../not_auto_gpt_workspace"),
- Path("../not_auto_gpt_workspace/test_file.txt"),
- Path("test_folder/../.."),
- Path("test_folder/../../test_file.txt"),
- Path("test_folder/../../not_auto_gpt_workspace"),
- Path("test_folder/../../not_auto_gpt_workspace/test_file.txt"),
- ]
- + [
- # Contains null bytes
- Path(template.format(null_byte=null_byte))
- for template, null_byte in itertools.product(
- [
- "{null_byte}",
- "{null_byte}test_file.txt",
- "test_folder/{null_byte}",
- "test_folder/{null_byte}test_file.txt",
- ],
- Workspace.NULL_BYTES,
- )
- ]
- + [
- # Absolute paths
- Path("/"),
- Path("/test_file.txt"),
- Path("/home"),
- ]
-)
-
-
-@pytest.fixture()
-def workspace_root(tmp_path):
- return tmp_path / _WORKSPACE_ROOT
-
-
-@pytest.fixture(params=_ACCESSIBLE_PATHS)
-def accessible_path(request):
- return request.param
-
-
-@pytest.fixture(params=_INACCESSIBLE_PATHS)
-def inaccessible_path(request):
- return request.param
-
-
-def test_sanitize_path_accessible(accessible_path, workspace_root):
- full_path = Workspace._sanitize_path(
- accessible_path,
- root=workspace_root,
- restrict_to_root=True,
- )
- assert full_path.is_absolute()
- assert full_path.is_relative_to(workspace_root)
-
-
-def test_sanitize_path_inaccessible(inaccessible_path, workspace_root):
- with pytest.raises(ValueError):
- Workspace._sanitize_path(
- inaccessible_path,
- root=workspace_root,
- restrict_to_root=True,
- )
-
-
-def test_get_path_accessible(accessible_path, workspace_root):
- workspace = Workspace(workspace_root, True)
- full_path = workspace.get_path(accessible_path)
- assert full_path.is_absolute()
- assert full_path.is_relative_to(workspace_root)
-
-
-def test_get_path_inaccessible(inaccessible_path, workspace_root):
- workspace = Workspace(workspace_root, True)
- with pytest.raises(ValueError):
- workspace.get_path(inaccessible_path)