loolwsd/test/httpwstest.cpp | 101 +++++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 47 deletions(-)
New commits: commit d05f42df08a429e18e7b1d8ff0c74b46612a9825 Author: Pranav Kant <pran...@collabora.com> Date: Sat Feb 20 03:52:22 2016 +0530 loolwsd: Rework document password unit test Our unit test structure changed with 7037f07a3861d0835fc6f2648e91d48f99ded4a6 . Restructure this one too. Change-Id: I1a14dd0ab0d631fd447edf620b6c24fe3730c843 diff --git a/loolwsd/test/httpwstest.cpp b/loolwsd/test/httpwstest.cpp index 351031d..8e52976 100644 --- a/loolwsd/test/httpwstest.cpp +++ b/loolwsd/test/httpwstest.cpp @@ -222,59 +222,66 @@ void HTTPWSTest::testRenderingOptions() void HTTPWSTest::testPasswordProtectedDocument() { - // Load a password protected document - const std::string documentPath = TDOC "/password-protected.ods"; - const std::string documentURL = "file://" + Poco::Path(documentPath).makeAbsolute().toString(); - // Send a load request without password first - sendTextFrame(_socket, "load url=" + documentURL); - - int flags; - int n; - int counter = 0; - do - { - char buffer[READ_BUFFER_SIZE]; - n = _socket.receiveFrame(buffer, sizeof(buffer), flags); - if (n > 0) + try { + + Poco::Net::WebSocket socket(_session, _request, _response); + + // Load a password protected document + const std::string documentPath = TDOC "/password-protected.ods"; + const std::string documentURL = "file://" + Poco::Path(documentPath).makeAbsolute().toString(); + // Send a load request without password first + sendTextFrame(socket, "load url=" + documentURL); + + int flags; + int n; + int counter = 0; + do { - std::string line = LOOLProtocol::getFirstLine(buffer, n); - StringTokenizer tokens(line, " ", StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM); - std::string errorCommand; - std::string errorKind; - if (counter == 0 && - tokens[0] == "error:" && - LOOLProtocol::getTokenString(tokens[1], "cmd", errorCommand) && - LOOLProtocol::getTokenString(tokens[2], "kind", errorKind) ) + char buffer[READ_BUFFER_SIZE]; + n = socket.receiveFrame(buffer, sizeof(buffer), flags); + if (n > 0) { - CPPUNIT_ASSERT_EQUAL(std::string("load"), errorCommand); - // TODO: Do a test for document requiring password to edit - CPPUNIT_ASSERT_EQUAL(std::string("passwordrequired:to-view"), errorKind); + std::string line = LOOLProtocol::getFirstLine(buffer, n); + StringTokenizer tokens(line, " ", StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM); + std::string errorCommand; + std::string errorKind; + if (counter == 0 && + tokens[0] == "error:" && + LOOLProtocol::getTokenString(tokens[1], "cmd", errorCommand) && + LOOLProtocol::getTokenString(tokens[2], "kind", errorKind) ) + { + CPPUNIT_ASSERT_EQUAL(std::string("load"), errorCommand); + // TODO: Do a test for document requiring password to edit + CPPUNIT_ASSERT_EQUAL(std::string("passwordrequired:to-view"), errorKind); - // Send another load request with incorrect password - sendTextFrame(_socket, "load url=" + documentURL + " password=2"); - counter++; - } - else if (counter == 1 && - tokens[0] == "error:" && - LOOLProtocol::getTokenString(tokens[1], "cmd", errorCommand) && - LOOLProtocol::getTokenString(tokens[2], "kind", errorKind) ) - { - CPPUNIT_ASSERT_EQUAL(std::string("load"), errorCommand); - CPPUNIT_ASSERT_EQUAL(std::string("wrongpassword"), errorKind); + // Send another load request with incorrect password + sendTextFrame(socket, "load url=" + documentURL + " password=2"); + counter++; + } + else if (counter == 1 && + tokens[0] == "error:" && + LOOLProtocol::getTokenString(tokens[1], "cmd", errorCommand) && + LOOLProtocol::getTokenString(tokens[2], "kind", errorKind) ) + { + CPPUNIT_ASSERT_EQUAL(std::string("load"), errorCommand); + CPPUNIT_ASSERT_EQUAL(std::string("wrongpassword"), errorKind); - // Send another load request with correct password - sendTextFrame(_socket, "load url=" + documentURL + " password=1"); - counter++; - } - else if (counter == 2 && - tokens[0] == "status:") - { - // Entering correct password opened the document - break; + // Send another load request with correct password + sendTextFrame(socket, "load url=" + documentURL + " password=1"); + counter++; + } + else if (counter == 2 && + tokens[0] == "status:") + { + // Entering correct password opened the document + break; + } } - } + } while (n > 0 && (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != Poco::Net::WebSocket::FRAME_OP_CLOSE); + } + catch (const Poco::Exception& exc) { + CPPUNIT_ASSERT_MESSAGE(exc.displayText(), false); } - while (n > 0 && (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != Poco::Net::WebSocket::FRAME_OP_CLOSE); } void HTTPWSTest::sendTextFrame(Poco::Net::WebSocket& socket, const std::string& string) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits