diff options
author | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2023-05-31 07:35:15 -0400 |
---|---|---|
committer | Ashod Nakashian <Ashod@users.noreply.github.com> | 2023-06-20 03:55:19 -0400 |
commit | 6f0199f07fe9785fe7d708b467405c76485852dc (patch) | |
tree | 509ed397e92f1c453a83ede90573b73e0e5142bf | |
parent | wsd: test: refactor assertGetFileRequest into the handler (diff) | |
download | online-6f0199f07fe9785fe7d708b467405c76485852dc.tar.gz online-6f0199f07fe9785fe7d708b467405c76485852dc.zip |
wsd: test: refactor assertCheckFileInfoRequest into the handler
Change-Id: I089706147b12d75d8dce8ffb740ffe738f1354ec
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
-rw-r--r-- | test/UnitOAuth.cpp | 5 | ||||
-rw-r--r-- | test/UnitWOPIHttpHeaders.cpp | 5 | ||||
-rw-r--r-- | test/WopiTestServer.hpp | 39 |
3 files changed, 36 insertions, 13 deletions
diff --git a/test/UnitOAuth.cpp b/test/UnitOAuth.cpp index f520c431bf..9b9126b3a1 100644 --- a/test/UnitOAuth.cpp +++ b/test/UnitOAuth.cpp @@ -74,10 +74,13 @@ public: } } - void assertCheckFileInfoRequest(const Poco::Net::HTTPRequest& request) override + virtual std::unique_ptr<http::Response> + assertCheckFileInfoRequest(const Poco::Net::HTTPRequest& request) { _checkFileInfoCalled = true; assertRequest(request); + + return nullptr; // Success. } std::unique_ptr<http::Response> diff --git a/test/UnitWOPIHttpHeaders.cpp b/test/UnitWOPIHttpHeaders.cpp index 699e6cc380..200836213e 100644 --- a/test/UnitWOPIHttpHeaders.cpp +++ b/test/UnitWOPIHttpHeaders.cpp @@ -21,9 +21,12 @@ class UnitWopiHttpHeaders : public WopiTestServer _phase; protected: - void assertCheckFileInfoRequest(const Poco::Net::HTTPRequest& request) override + virtual std::unique_ptr<http::Response> + assertCheckFileInfoRequest(const Poco::Net::HTTPRequest& request) { assertHeaders(request); + + return nullptr; // Success. } std::unique_ptr<http::Response> diff --git a/test/WopiTestServer.hpp b/test/WopiTestServer.hpp index c723de6589..ddc49c3f7e 100644 --- a/test/WopiTestServer.hpp +++ b/test/WopiTestServer.hpp @@ -145,8 +145,10 @@ protected: _countPutFile = 0; } - virtual void assertCheckFileInfoRequest(const Poco::Net::HTTPRequest& /*request*/) + virtual std::unique_ptr<http::Response> + assertCheckFileInfoRequest(const Poco::Net::HTTPRequest& /*request*/) { + return nullptr; // Success. } virtual std::unique_ptr<http::Response> @@ -274,17 +276,34 @@ protected: virtual bool handleCheckFileInfoRequest(const Poco::Net::HTTPRequest& request, std::shared_ptr<StreamSocket>& socket) { - Poco::JSON::Object::Ptr fileInfo = getDefaultCheckFileInfoPayload(request.getURI()); - configCheckFileInfo(fileInfo); + std::unique_ptr<http::Response> httpResponse = assertCheckFileInfoRequest(request); + if (!httpResponse) + httpResponse = Util::make_unique<http::Response>(http::StatusCode::OK); - std::ostringstream jsonStream; - fileInfo->stringify(jsonStream); + if (httpResponse->statusLine().statusCategory() == + http::StatusLine::StatusCodeClass::Successful) + { + Poco::JSON::Object::Ptr fileInfo = getDefaultCheckFileInfoPayload(request.getURI()); + configCheckFileInfo(fileInfo); - http::Response httpResponse(http::StatusCode::OK); - httpResponse.set("Last-Modified", Util::getHttpTime(getFileLastModifiedTime())); - httpResponse.setBody(jsonStream.str(), "application/json; charset=utf-8"); - socket->sendAndShutdown(httpResponse); + std::ostringstream jsonStream; + fileInfo->stringify(jsonStream); + const std::string json = jsonStream.str(); + LOG_TST("FakeWOPIHost: Response to CheckFileInfo " + << Poco::URI(request.getURI()).getPath() << ": 200 OK: " << json); + + httpResponse->set("Last-Modified", Util::getHttpTime(getFileLastModifiedTime())); + httpResponse->setBody(json, "application/json; charset=utf-8"); + } + else + { + LOG_TST("FakeWOPIHost: Response to CheckFileInfo " + << Poco::URI(request.getURI()).getPath() + << httpResponse->statusLine().statusCode() << ' ' + << httpResponse->statusLine().reasonPhrase()); + } + socket->sendAndShutdown(*httpResponse); return true; } @@ -332,8 +351,6 @@ protected: LOG_TST("FakeWOPIHost: Handling CheckFileInfo (#" << _countCheckFileInfo << "): " << uriReq.getPath()); - assertCheckFileInfoRequest(request); - return handleCheckFileInfoRequest(request, socket); } else if (isWopiContentRequest(uriReq.getPath())) // GetFile |