More http post end points filled
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user