test/helpers.hpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
New commits: commit 7b9e949adc20a7920a58d06530a60d34b6581c65 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Tue May 2 00:01:28 2017 -0400 wsd: add test helper to get server version Change-Id: I14ce574d4593d845f6621b447a678f2c4bbe29ac Reviewed-on: https://gerrit.libreoffice.org/37131 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/test/helpers.hpp b/test/helpers.hpp index 1b00b2e3..97f91929 100644 --- a/test/helpers.hpp +++ b/test/helpers.hpp @@ -13,6 +13,9 @@ #include <iterator> #include <Poco/BinaryReader.h> +#include <Poco/Dynamic/Var.h> +#include <Poco/JSON/JSON.h> +#include <Poco/JSON/Parser.h> #include <Poco/Net/HTTPClientSession.h> #include <Poco/Net/HTTPRequest.h> #include <Poco/Net/HTTPResponse.h> @@ -567,6 +570,34 @@ inline std::vector<char> getTileAndSave(std::shared_ptr<LOOLWebSocket>& socket, return res; } +inline void getServerVersion(LOOLWebSocket& socket, + int& major, int& minor, + const std::string& testname) +{ + const std::string clientVersion = "loolclient 0.1"; + sendTextFrame(socket, clientVersion); + std::vector<char> loVersion = getResponseMessage(socket, "lokitversion", testname); + std::string line = LOOLProtocol::getFirstLine(loVersion.data(), loVersion.size()); + line = line.substr(strlen("lokitversion ")); + Poco::JSON::Parser parser; + Poco::Dynamic::Var loVersionVar = parser.parse(line); + const Poco::SharedPtr<Poco::JSON::Object>& loVersionObject = loVersionVar.extract<Poco::JSON::Object::Ptr>(); + std::string loProductVersion = loVersionObject->get("ProductVersion").toString(); + std::istringstream stream(loProductVersion); + stream >> major; + assert(stream.get() == '.'); + stream >> minor; + + std::cerr << testname << "Client [" << major << '.' << minor << "]." << std::endl; +} + +inline void getServerVersion(std::shared_ptr<LOOLWebSocket>& socket, + int& major, int& minor, + const std::string& testname) +{ + getServerVersion(*socket, major, minor, testname); +} + } #endif _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits