[Libreoffice-commits] online.git: loolwsd/test
Pranav Kant
pranavk at collabora.com
Fri Feb 19 22:37:22 UTC 2016
loolwsd/test/httpwstest.cpp | 101 +++++++++++++++++++++++---------------------
1 file changed, 54 insertions(+), 47 deletions(-)
New commits:
commit d05f42df08a429e18e7b1d8ff0c74b46612a9825
Author: Pranav Kant <pranavk at 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)
More information about the Libreoffice-commits
mailing list