summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2023-05-31 07:35:15 -0400
committerAshod Nakashian <Ashod@users.noreply.github.com>2023-06-20 03:55:19 -0400
commit6f0199f07fe9785fe7d708b467405c76485852dc (patch)
tree509ed397e92f1c453a83ede90573b73e0e5142bf
parentwsd: test: refactor assertGetFileRequest into the handler (diff)
downloadonline-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.cpp5
-rw-r--r--test/UnitWOPIHttpHeaders.cpp5
-rw-r--r--test/WopiTestServer.hpp39
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