From 3435f33697f40c956af9be72700fead2980fea45 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 24 Aug 2026 17:17:51 +0800
Subject: [PATCH] fix: validate empty point-cloud inference inputs
---
tests/test_serve_workbench_console.py | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/tests/test_serve_workbench_console.py b/tests/test_serve_workbench_console.py
index 674c884..c267bce 100644
--- a/tests/test_serve_workbench_console.py
+++ b/tests/test_serve_workbench_console.py
@@ -123,6 +123,28 @@
self.assertEqual(result["name"], "corridor.las")
self.assertEqual(staged.read_bytes(), b"las-bytes")
+ def test_model_inference_rejects_empty_and_incomplete_las_uploads(self) -> None:
+ with tempfile.TemporaryDirectory() as temp_dir:
+ root = Path(temp_dir)
+ empty = root / "empty.ply"
+ empty.write_bytes(b"")
+ with self.assertRaisesRegex(MODULE.ApiError, "文件为空"):
+ MODULE.validate_pointcloud_model_input(empty)
+
+ incomplete = root / "tile_000_000.las"
+ incomplete.write_bytes(b"las-bytes")
+ with self.assertRaisesRegex(MODULE.ApiError, "文件不完整"):
+ MODULE.validate_pointcloud_model_input(incomplete)
+
+ empty_las = root / "empty.las"
+ header = bytearray(227)
+ header[:4] = b"LASF"
+ header[24:26] = bytes((1, 2))
+ header[94:96] = (227).to_bytes(2, "little")
+ empty_las.write_bytes(header)
+ with self.assertRaisesRegex(MODULE.ApiError, "没有点记录"):
+ MODULE.validate_pointcloud_model_input(empty_las)
+
def test_photo_reconstruction_request_requires_three_to_thirty_photos(self) -> None:
handler = self.make_handler()
with self.assertRaisesRegex(MODULE.ApiError, "at least three"):
--
Gitblit v1.9.3