Fix server file root loading and refresh

This commit is contained in:
npc0-hue
2026-08-24 17:28:54 +08:00
parent d4e3f68032
commit 7e15cb09b4
7 changed files with 77 additions and 22 deletions
+6 -1
View File
@@ -151,7 +151,6 @@ func TestMetricsAndConfigReadAPIAreSafeAndRoleScoped(t *testing.T) {
postJSON[dto.GamePluginResponse](t, router, "/api/v1/game-plugins", validGamePluginRequest())
endpointRequest := validRunEndpointRequest()
endpointRequest.Capabilities = append(endpointRequest.Capabilities, domain.JobCapabilityFilesList)
postJSON[dto.RunEndpointResponse](t, router, "/api/v1/run/endpoints", endpointRequest)
instance := postJSONWithAuth[dto.ServerInstanceResponse](t, router, "/api/v1/server-instances", dto.ServerInstanceCreateRequest{
ID: "server-metrics-api",
@@ -267,6 +266,12 @@ func TestCoreAPIServerFileWorkspaceRoutesAreScoped(t *testing.T) {
if list.State != "declared" || list.DirectoryKey != "server-root" || list.Entries == nil || !strings.Contains(list.Reason, "服务器文件缓存") {
t.Fatalf("expected generic root file list, got %+v", list)
}
refreshRecorder := requestJSONWithAuth(t, router, http.MethodPost, "/api/v1/server-instances/"+instance.ID+"/files/refresh", dto.ServerFileListRequest{DirectoryKey: "server-root", IdempotencyKey: "api-file-list-refresh"}, adminSession)
assertStatus(t, refreshRecorder, http.StatusAccepted)
refresh := decodeBody[dto.ServerFileListResponse](t, refreshRecorder)
if refresh.State != "pending" || refresh.Job == nil || refresh.Job.Capability != domain.JobCapabilityFilesList {
t.Fatalf("expected file list refresh without endpoint declaration gate, got %+v", refresh)
}
readRecorder := requestJSONWithAuth(t, router, http.MethodPost, "/api/v1/server-instances/"+instance.ID+"/files/read", dto.ServerFileReadRequest{PluginID: "server.scum", Key: "scum-server-settings", IdempotencyKey: "api-file-read"}, adminSession)
assertStatus(t, readRecorder, http.StatusAccepted)
read := decodeBody[dto.FileOperationDispatchResponse](t, readRecorder)