More http post end points filled
All checks were successful
CI / React UI Build (push) Successful in 10s
CI / Native Windows Build And Tests (push) Successful in 3m1s
CI / Windows Release Package (push) Has been skipped

This commit is contained in:
Aiden
2026-05-12 14:23:53 +10:00
parent 38d729b346
commit 1ddcf5d621
15 changed files with 854 additions and 97 deletions

View File

@@ -106,6 +106,39 @@ void TestKnownPostEndpointReturnsActionError()
Expect(response.body.find("not implemented") != std::string::npos, "unimplemented post reports diagnostic");
}
void TestLayerPostEndpointsUseCallbacks()
{
using namespace RenderCadenceCompositor;
HttpControlServer server;
HttpControlServerCallbacks callbacks;
callbacks.addLayer = [](const std::string& body) {
Expect(body.find("solid") != std::string::npos, "add callback receives request body");
return ControlActionResult{ true, std::string() };
};
callbacks.removeLayer = [](const std::string& body) {
Expect(body.find("runtime-layer-1") != std::string::npos, "remove callback receives request body");
return ControlActionResult{ false, "Unknown layer id." };
};
server.SetCallbacksForTest(callbacks);
HttpControlServer::HttpRequest addRequest;
addRequest.method = "POST";
addRequest.path = "/api/layers/add";
addRequest.body = "{\"shaderId\":\"solid\"}";
const HttpControlServer::HttpResponse addResponse = server.RouteRequestForTest(addRequest);
ExpectEquals(addResponse.status, "200 OK", "add layer callback success returns 200");
Expect(addResponse.body.find("\"ok\":true") != std::string::npos, "add layer callback returns action success");
HttpControlServer::HttpRequest removeRequest;
removeRequest.method = "POST";
removeRequest.path = "/api/layers/remove";
removeRequest.body = "{\"layerId\":\"runtime-layer-1\"}";
const HttpControlServer::HttpResponse removeResponse = server.RouteRequestForTest(removeRequest);
ExpectEquals(removeResponse.status, "400 Bad Request", "remove layer callback failure returns 400");
Expect(removeResponse.body.find("Unknown layer id.") != std::string::npos, "remove layer callback returns diagnostic");
}
void TestUnknownEndpointReturns404()
{
using namespace RenderCadenceCompositor;
@@ -126,6 +159,7 @@ int main()
TestStateEndpointUsesCallback();
TestRootServesUiIndex();
TestKnownPostEndpointReturnsActionError();
TestLayerPostEndpointsUseCallbacks();
TestUnknownEndpointReturns404();
if (gFailures != 0)