[Libreoffice-commits] online.git: test/helpers.hpp test/httpwserror.cpp

Ashod Nakashian ashod.nakashian at collabora.co.uk
Wed Jan 4 04:31:21 UTC 2017


 test/helpers.hpp     |    6 ++++++
 test/httpwserror.cpp |   23 ++++++++++++++---------
 2 files changed, 20 insertions(+), 9 deletions(-)

New commits:
commit 606f85db8753e3d1f44b8fbf10be609e9bd5ccb7
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date:   Tue Jan 3 17:02:53 2017 -0500

    wsd: fixup max connections unittest
    
    Change-Id: I107dadb973554b21f20211c8316cec7139953f47
    Reviewed-on: https://gerrit.libreoffice.org/32713
    Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
    Tested-by: Ashod Nakashian <ashnakash at gmail.com>

diff --git a/test/helpers.hpp b/test/helpers.hpp
index 6c70fdd..4c9d191 100644
--- a/test/helpers.hpp
+++ b/test/helpers.hpp
@@ -188,6 +188,12 @@ int getErrorCode(LOOLWebSocket& ws, std::string& message)
 }
 
 inline
+int getErrorCode(const std::shared_ptr<LOOLWebSocket>& ws, std::string& message)
+{
+    return getErrorCode(*ws, message);
+}
+
+inline
 std::vector<char> getResponseMessage(LOOLWebSocket& ws, const std::string& prefix, std::string name = "", const size_t timeoutMs = 10000)
 {
     name = name + '[' + prefix + "] ";
diff --git a/test/httpwserror.cpp b/test/httpwserror.cpp
index 3db733d..c001abf 100644
--- a/test/httpwserror.cpp
+++ b/test/httpwserror.cpp
@@ -142,8 +142,16 @@ void HTTPWSError::testMaxDocuments()
 
 void HTTPWSError::testMaxConnections()
 {
-#if MAX_CONNECTIONS > 0
+    static_assert(MAX_CONNECTIONS >= 3, "MAX_CONNECTIONS must be at least 3");
     const auto testname = "maxConnections ";
+
+    if (MAX_CONNECTIONS > 100)
+    {
+        std::cerr << "Skipping " << testname << "test since MAX_CONNECTION (" << MAX_CONNECTIONS
+                  << ") is too high to test. Set to a more sensible number, ideally a dozen or so." << std::endl;
+        return;
+    }
+
     try
     {
         std::cerr << "Opening max number of connections: " << MAX_CONNECTIONS << std::endl;
@@ -158,7 +166,7 @@ void HTTPWSError::testMaxConnections()
         std::cerr << "Opened connect #1 of " << MAX_CONNECTIONS << std::endl;
 
         std::vector<std::shared_ptr<LOOLWebSocket>> views;
-        for(int it = 1; it < MAX_CONNECTIONS; it++)
+        for (int it = 1; it < MAX_CONNECTIONS; ++it)
         {
             std::unique_ptr<Poco::Net::HTTPClientSession> session(createSession(_uri));
             auto ws = std::make_shared<LOOLWebSocket>(*session, request, _response);
@@ -170,24 +178,21 @@ void HTTPWSError::testMaxConnections()
 
         // try to connect MAX_CONNECTIONS + 1
         std::unique_ptr<Poco::Net::HTTPClientSession> session(createSession(_uri));
-        LOOLWebSocket socketN(*session, request, _response);
+        auto socketN = std::make_shared<LOOLWebSocket>(*session, request, _response);
 
-        // send loolclient, load and partpagerectangles
-        sendTextFrame(socketN, "loolclient ", testname);
-        sendTextFrame(socketN, "load ", testname);
-        sendTextFrame(socketN, "partpagerectangles ", testname);
+        // Send load request, which will fail.
+        sendTextFrame(socketN, "load url=" + docURL, testname);
 
         std::string message;
         const auto statusCode = getErrorCode(socketN, message);
         CPPUNIT_ASSERT_EQUAL(static_cast<int>(Poco::Net::WebSocket::WS_POLICY_VIOLATION), statusCode);
 
-        socketN.shutdown();
+        socketN->shutdown();
     }
     catch (const Poco::Exception& exc)
     {
         CPPUNIT_FAIL(exc.displayText());
     }
-#endif
 }
 
 CPPUNIT_TEST_SUITE_REGISTRATION(HTTPWSError);


More information about the Libreoffice-commits mailing list