feat: feedback verbetering
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -117,6 +117,8 @@ class CopyApiGoldenTest(unittest.TestCase):
|
||||
|
||||
detail = self._wait_task(body["task_id"])
|
||||
self.assertEqual(detail["status"], "completed")
|
||||
self.assertEqual(detail["done_items"], 1)
|
||||
self.assertEqual(detail["total_items"], 1)
|
||||
self.assertEqual(detail["total_bytes"], 5)
|
||||
self.assertEqual(detail["done_bytes"], 5)
|
||||
self.assertTrue((self.root / "copy.txt").exists())
|
||||
@@ -159,8 +161,8 @@ class CopyApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.status_code, 202)
|
||||
detail = self._wait_task(response.json()["task_id"])
|
||||
self.assertEqual(detail["status"], "completed")
|
||||
self.assertEqual(detail["done_items"], 1)
|
||||
self.assertEqual(detail["total_items"], 1)
|
||||
self.assertEqual(detail["done_items"], 2)
|
||||
self.assertEqual(detail["total_items"], 2)
|
||||
self.assertTrue((self.root / "photos-copy").is_dir())
|
||||
self.assertEqual((self.root / "photos-copy" / "cover.jpg").read_text(encoding="utf-8"), "img")
|
||||
self.assertEqual((self.root / "photos-copy" / "nested" / "a.txt").read_text(encoding="utf-8"), "nested")
|
||||
@@ -232,7 +234,7 @@ class CopyApiGoldenTest(unittest.TestCase):
|
||||
task_id = response.json()["task_id"]
|
||||
self.assertTrue(blocking_fs.entered.wait(timeout=2.0))
|
||||
running = self._wait_for_status(task_id, {"running"})
|
||||
self.assertEqual(running["current_item"], str(self.root / "a.txt"))
|
||||
self.assertEqual(running["current_item"], "a.txt")
|
||||
|
||||
cancel_response = self._request("POST", f"/api/tasks/{task_id}/cancel")
|
||||
self.assertEqual(cancel_response.status_code, 200)
|
||||
|
||||
@@ -128,8 +128,8 @@ class DuplicateApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.status_code, 202)
|
||||
detail = self._wait_task(response.json()["task_id"])
|
||||
self.assertEqual(detail["status"], "completed")
|
||||
self.assertEqual(detail["done_items"], 1)
|
||||
self.assertEqual(detail["total_items"], 1)
|
||||
self.assertEqual(detail["done_items"], 2)
|
||||
self.assertEqual(detail["total_items"], 2)
|
||||
self.assertTrue((self.root / "Folder copy").is_dir())
|
||||
self.assertEqual((self.root / "Folder copy" / "alpha.txt").read_text(encoding="utf-8"), "A")
|
||||
self.assertEqual((self.root / "Folder copy" / "nested" / "beta.txt").read_text(encoding="utf-8"), "B")
|
||||
@@ -171,7 +171,7 @@ class DuplicateApiGoldenTest(unittest.TestCase):
|
||||
task_id = response.json()["task_id"]
|
||||
self.assertTrue(blocking_fs.entered.wait(timeout=2.0))
|
||||
running = self._wait_for_status(task_id, {"running"})
|
||||
self.assertEqual(running["current_item"], str(self.root / "a.txt"))
|
||||
self.assertEqual(running["current_item"], "a.txt")
|
||||
|
||||
cancel_response = self._request("POST", f"/api/tasks/{task_id}/cancel")
|
||||
self.assertEqual(cancel_response.status_code, 200)
|
||||
|
||||
@@ -29,7 +29,8 @@ class FailingDeleteFilesystemAdapter(FilesystemAdapter):
|
||||
|
||||
class FailingBatchFilesystemAdapter(FilesystemAdapter):
|
||||
def move_file(self, source: str, destination: str) -> None:
|
||||
if Path(source).name == "fail-file.txt":
|
||||
source_path = Path(source)
|
||||
if source_path.name == "fail-file.txt" or "fail-dir" in source_path.parts:
|
||||
raise OSError("forced batch move failure")
|
||||
super().move_file(source, destination)
|
||||
|
||||
@@ -128,6 +129,8 @@ class MoveApiGoldenTest(unittest.TestCase):
|
||||
|
||||
detail = self._wait_task(body["task_id"])
|
||||
self.assertEqual(detail["status"], "completed")
|
||||
self.assertEqual(detail["done_items"], 1)
|
||||
self.assertEqual(detail["total_items"], 1)
|
||||
self.assertTrue((self.root1 / "moved.txt").exists())
|
||||
self.assertFalse(src.exists())
|
||||
|
||||
@@ -269,7 +272,7 @@ class MoveApiGoldenTest(unittest.TestCase):
|
||||
task_id = response.json()["task_id"]
|
||||
self.assertTrue(blocking_fs.entered.wait(timeout=2.0))
|
||||
running = self._wait_for_status(task_id, {"running"})
|
||||
self.assertEqual(running["current_item"], str(self.root1 / "a.txt"))
|
||||
self.assertEqual(running["current_item"], "a.txt")
|
||||
|
||||
cancel_response = self._request("POST", f"/api/tasks/{task_id}/cancel")
|
||||
self.assertEqual(cancel_response.status_code, 200)
|
||||
@@ -387,8 +390,10 @@ class MoveApiGoldenTest(unittest.TestCase):
|
||||
def test_move_batch_runtime_io_error_failed_task_shape(self) -> None:
|
||||
first = self.root1 / "ok-dir"
|
||||
first.mkdir()
|
||||
(first / "a.txt").write_text("A", encoding="utf-8")
|
||||
second = self.root1 / "fail-dir"
|
||||
second.mkdir()
|
||||
(second / "b.txt").write_text("B", encoding="utf-8")
|
||||
target = self.root1 / "target"
|
||||
target.mkdir()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user