mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-17 02:05:22 -04:00
fix(auth): clean up rename and null-owner ownership (#4340)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
from types import SimpleNamespace
|
||||
|
||||
from routes import personal_routes
|
||||
|
||||
@@ -42,3 +43,44 @@ def test_personal_upload_paths_stay_under_upload_root(tmp_path, monkeypatch):
|
||||
assert os.path.commonpath([file_path, upload_dir]) == upload_dir
|
||||
assert Path(file_path).name == stored_name
|
||||
assert display_name == "env"
|
||||
|
||||
|
||||
def test_rename_personal_upload_owner_moves_files_and_rewrites_rag(tmp_path, monkeypatch):
|
||||
monkeypatch.setattr(personal_routes, "UPLOADS_DIR", str(tmp_path))
|
||||
|
||||
old_dir = Path(personal_routes._personal_upload_dir_for_owner("alice"))
|
||||
old_file = old_dir / "note.txt"
|
||||
old_file.write_text("alice private RAG note", encoding="utf-8")
|
||||
|
||||
manager_calls = []
|
||||
rag_calls = []
|
||||
manager = SimpleNamespace(
|
||||
rename_directory=lambda old, new, path_map=None: manager_calls.append((old, new, dict(path_map or {}))),
|
||||
)
|
||||
rag = SimpleNamespace(
|
||||
rename_owner=lambda old, new, path_map=None, path_prefixes=None: rag_calls.append(
|
||||
(old, new, dict(path_map or {}), list(path_prefixes or []))
|
||||
) or {"success": True, "updated_count": 1},
|
||||
)
|
||||
|
||||
result = personal_routes.rename_personal_upload_owner(
|
||||
"alice",
|
||||
"alice2",
|
||||
personal_docs_manager=manager,
|
||||
rag_manager=rag,
|
||||
)
|
||||
|
||||
new_dir = Path(personal_routes._personal_upload_dir_for_owner("alice2"))
|
||||
new_file = new_dir / "note.txt"
|
||||
assert old_file.exists() is False
|
||||
assert new_file.read_text(encoding="utf-8") == "alice private RAG note"
|
||||
assert result["moved_files"] == 1
|
||||
assert manager_calls == [(str(old_dir), str(new_dir), {str(old_file): str(new_file)})]
|
||||
assert rag_calls == [
|
||||
(
|
||||
"alice",
|
||||
"alice2",
|
||||
{str(old_file): str(new_file)},
|
||||
[(str(old_dir), str(new_dir))],
|
||||
)
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user