✨ feat(planning): 添加离线飞拍规划能力
* 固化离线飞拍轨迹加载、保存和规划结果。 * 真机初始化失败时保留模型加载后的离线规划能力。 * 更新状态接口、调试页和回归测试覆盖。
This commit is contained in:
@@ -36,6 +36,14 @@ public sealed class DebugConsoleEndpointTests(FlyshotServerFactory factory) : IC
|
||||
Assert.Contains("id=\"debug-static-docs\"", html, StringComparison.Ordinal);
|
||||
Assert.Contains("POST /move_pose/", html, StringComparison.Ordinal);
|
||||
Assert.Contains("POST /upload_flyshot/", html, StringComparison.Ordinal);
|
||||
Assert.Contains("POST /init_mpc_robot", html, StringComparison.Ordinal);
|
||||
Assert.Contains("id=\"offline-planning-panel\"", html, StringComparison.Ordinal);
|
||||
Assert.Contains("id=\"offline-trajectory-select\"", html, StringComparison.Ordinal);
|
||||
Assert.Contains("生成轨迹不会向机器人发送命令", html, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("/init_mpc_robt", html, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("/set_active_controller/", html, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("\"sim\"", html, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("\"server_ip\"", html, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain("__SWAGGER_JSON_URL__", html, StringComparison.Ordinal);
|
||||
Assert.Contains("/assets/debug.css", html, StringComparison.Ordinal);
|
||||
Assert.Contains("/assets/debug.js", html, StringComparison.Ordinal);
|
||||
@@ -45,6 +53,9 @@ public sealed class DebugConsoleEndpointTests(FlyshotServerFactory factory) : IC
|
||||
|
||||
var script = await scriptResponse.Content.ReadAsStringAsync();
|
||||
Assert.Contains("/api/debug/config", script, StringComparison.Ordinal);
|
||||
Assert.Contains("/list_flyShotTraj/", script, StringComparison.Ordinal);
|
||||
Assert.Contains("/save_traj_info/", script, StringComparison.Ordinal);
|
||||
Assert.Contains("renderOfflinePlanningResult", script, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -157,11 +168,14 @@ public sealed class DebugConsoleEndpointTests(FlyshotServerFactory factory) : IC
|
||||
using var document = await System.Text.Json.JsonDocument.ParseAsync(responseStream);
|
||||
var paths = document.RootElement.GetProperty("paths");
|
||||
|
||||
// 这些路径分别覆盖:基础探活、状态快照、版本查询、上传飞拍轨迹四种典型形态。
|
||||
// 这些路径分别覆盖:基础探活、状态快照、真机初始化、上传和离线规划。
|
||||
AssertPathExists(paths, "/healthz");
|
||||
AssertPathExists(paths, "/api/status/snapshot");
|
||||
AssertPathExists(paths, "/get_server_version");
|
||||
AssertPathExists(paths, "/init_mpc_robot");
|
||||
AssertPathExists(paths, "/upload_flyshot");
|
||||
AssertPathExists(paths, "/save_traj_info");
|
||||
Assert.False(paths.TryGetProperty("/init_mpc_robt", out _));
|
||||
Assert.False(paths.TryGetProperty("/set_active_controller/", out _));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user