loolwsd/test/helpers.hpp | 6 ++++++ loolwsd/test/httpwstest.cpp | 27 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+)
New commits: commit b9a2d7fcafd412b8eb8b8c6b4e9b1fede658d49b Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Wed Aug 17 23:52:55 2016 -0400 loolwsd: unit-test misbehaving client that connects without loading Change-Id: I1cef429a9310450c1b317f65475536db5d8a8306 Reviewed-on: https://gerrit.libreoffice.org/28289 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/test/helpers.hpp b/loolwsd/test/helpers.hpp index 61bcb89..43eebff 100644 --- a/loolwsd/test/helpers.hpp +++ b/loolwsd/test/helpers.hpp @@ -156,6 +156,12 @@ bool isDocumentLoaded(Poco::Net::WebSocket& ws, const std::string& name = "", bo } inline +bool isDocumentLoaded(std::shared_ptr<Poco::Net::WebSocket>& ws, const std::string& name = "", bool isView = false) +{ + return isDocumentLoaded(*ws, name, isView); +} + +inline Poco::Net::HTTPClientSession* createSession(const Poco::URI& uri) { #if ENABLE_SSL diff --git a/loolwsd/test/httpwstest.cpp b/loolwsd/test/httpwstest.cpp index df97acd..73c4f2c 100644 --- a/loolwsd/test/httpwstest.cpp +++ b/loolwsd/test/httpwstest.cpp @@ -60,6 +60,7 @@ class HTTPWSTest : public CPPUNIT_NS::TestFixture CPPUNIT_TEST(testBadRequest); CPPUNIT_TEST(testHandShake); CPPUNIT_TEST(testCloseAfterClose); + CPPUNIT_TEST(testConnectNoLoad); CPPUNIT_TEST(testLoad); CPPUNIT_TEST(testBadLoad); CPPUNIT_TEST(testReload); @@ -94,6 +95,7 @@ class HTTPWSTest : public CPPUNIT_NS::TestFixture void testBadRequest(); void testHandShake(); void testCloseAfterClose(); + void testConnectNoLoad(); void testLoad(); void testBadLoad(); void testReload(); @@ -365,6 +367,31 @@ void HTTPWSTest::loadDoc(const std::string& documentURL) } } +void HTTPWSTest::testConnectNoLoad() +{ + std::string documentPath, documentURL; + getDocumentPathAndURL("hello.odt", documentPath, documentURL); + + Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_GET, documentURL); + auto socket = connectLOKit(_uri, request, _response); + CPPUNIT_ASSERT_MESSAGE("Failed to connect.", socket); + socket.reset(); + + // Connect and load first view. + auto socket1 = connectLOKit(_uri, request, _response); + CPPUNIT_ASSERT_MESSAGE("Failed to connect.", socket1); + sendTextFrame(socket1, "load url=" + documentURL); + CPPUNIT_ASSERT_MESSAGE("cannot load the document " + documentURL, isDocumentLoaded(socket1)); + + // Connect but don't load second view. + auto socket2 = connectLOKit(_uri, request, _response); + CPPUNIT_ASSERT_MESSAGE("Failed to connect.", socket2); + socket2.reset(); + + sendTextFrame(socket1, "status"); + assertResponseLine(socket1, "status:"); +} + void HTTPWSTest::testLoad() { std::string documentPath, documentURL; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits