git commit -m "feat: major architectural refactor
- Refactor memory system (episodic/STM/LTM with components) - Implement complete subtitle domain (scanner, matcher, placer) - Add YAML workflow infrastructure - Externalize knowledge base (patterns, release groups) - Add comprehensive testing suite - Create manual testing CLIs"
This commit is contained in:
@@ -271,7 +271,7 @@ class TestFilesystemEdgeCases:
|
||||
"""Should list hidden files."""
|
||||
hidden_file = real_folder["downloads"] / ".hidden"
|
||||
hidden_file.touch()
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
result = fs_tools.list_folder("download")
|
||||
|
||||
@@ -285,7 +285,7 @@ class TestFilesystemEdgeCases:
|
||||
except OSError:
|
||||
pytest.skip("Cannot create symlinks")
|
||||
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
result = fs_tools.list_folder("download")
|
||||
|
||||
@@ -301,7 +301,7 @@ class TestFilesystemEdgeCases:
|
||||
|
||||
try:
|
||||
os.chmod(no_read, 0o000)
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
result = fs_tools.list_folder("download")
|
||||
|
||||
@@ -312,7 +312,7 @@ class TestFilesystemEdgeCases:
|
||||
|
||||
def test_list_folder_case_sensitivity(self, memory, real_folder):
|
||||
"""Should handle case sensitivity correctly."""
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
# Try with different cases
|
||||
result_lower = fs_tools.list_folder("download")
|
||||
@@ -324,7 +324,7 @@ class TestFilesystemEdgeCases:
|
||||
"""Should handle spaces in path."""
|
||||
space_dir = real_folder["downloads"] / "folder with spaces"
|
||||
space_dir.mkdir()
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
result = fs_tools.list_folder("download", "folder with spaces")
|
||||
|
||||
@@ -332,7 +332,7 @@ class TestFilesystemEdgeCases:
|
||||
|
||||
def test_path_traversal_with_encoded_chars(self, memory, real_folder):
|
||||
"""Should block URL-encoded traversal attempts."""
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
# Various encoding attempts
|
||||
attempts = [
|
||||
@@ -352,7 +352,7 @@ class TestFilesystemEdgeCases:
|
||||
|
||||
def test_path_with_null_byte(self, memory, real_folder):
|
||||
"""Should block null byte injection."""
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
result = fs_tools.list_folder("download", "file\x00.txt")
|
||||
|
||||
@@ -366,7 +366,7 @@ class TestFilesystemEdgeCases:
|
||||
deep_path = deep_path / f"level{i}"
|
||||
deep_path.mkdir(parents=True)
|
||||
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
# Navigate to deep path
|
||||
relative_path = "/".join([f"level{i}" for i in range(20)])
|
||||
@@ -380,7 +380,7 @@ class TestFilesystemEdgeCases:
|
||||
for i in range(1000):
|
||||
(real_folder["downloads"] / f"file_{i:04d}.txt").touch()
|
||||
|
||||
memory.ltm.set_config("download_folder", str(real_folder["downloads"]))
|
||||
memory.ltm.download_folder = str(real_folder["downloads"])
|
||||
|
||||
result = fs_tools.list_folder("download")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user