Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(726)

Unified Diff: ppapi/tests/test_tcp_socket_private.cc

Issue 9791003: Added pepper test for SSLHandshake (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/tests/test_tcp_socket_private.cc
diff --git a/ppapi/tests/test_tcp_socket_private.cc b/ppapi/tests/test_tcp_socket_private.cc
index bcd749dbdad9527e8732a6e1f6303da0bc66a558..f7287023e79e38e9ccbfac825a83029945fffd83 100644
--- a/ppapi/tests/test_tcp_socket_private.cc
+++ b/ppapi/tests/test_tcp_socket_private.cc
@@ -76,12 +76,16 @@ bool TestTCPSocketPrivate::Init() {
port_ = static_cast<uint16_t>(i);
}
+ // Get the port for the SSL server.
+ ssl_port_ = instance_->ssl_server_port();
+
return true;
}
void TestTCPSocketPrivate::RunTests(const std::string& filter) {
RUN_TEST_FORCEASYNC_AND_NOT(Basic, filter);
RUN_TEST_FORCEASYNC_AND_NOT(ReadWrite, filter);
+ RUN_TEST_FORCEASYNC_AND_NOT(ReadWriteSSL, filter);
RUN_TEST_FORCEASYNC_AND_NOT(ConnectAddress, filter);
}
@@ -127,6 +131,34 @@ std::string TestTCPSocketPrivate::TestReadWrite() {
PASS();
}
+std::string TestTCPSocketPrivate::TestReadWriteSSL() {
+ pp::TCPSocketPrivate socket(instance_);
+ TestCompletionCallback cb(instance_->pp_instance(), force_async_);
+
+ int32_t rv = socket.Connect(host_.c_str(), ssl_port_, cb);
+ ASSERT_TRUE(!force_async_ || rv == PP_OK_COMPLETIONPENDING);
+ if (rv == PP_OK_COMPLETIONPENDING)
+ rv = cb.WaitForResult();
+ ASSERT_EQ(PP_OK, rv);
+
+ rv = socket.SSLHandshake(host_.c_str(), ssl_port_, cb);
+ ASSERT_TRUE(!force_async_ || rv == PP_OK_COMPLETIONPENDING);
+ if (rv == PP_OK_COMPLETIONPENDING)
+ rv = cb.WaitForResult();
+ ASSERT_EQ(PP_OK, rv);
+
+ ASSERT_EQ(PP_OK, WriteStringToSocket(&socket, "GET / HTTP/1.0\r\n\r\n"));
+
+ // Read up to the first \n and check that it looks like valid HTTP response.
+ std::string s;
+ ASSERT_EQ(PP_OK, ReadFirstLineFromSocket(&socket, &s));
+ ASSERT_TRUE(ValidateHttpResponse(s));
+
+ socket.Disconnect();
+
+ PASS();
+}
+
std::string TestTCPSocketPrivate::TestConnectAddress() {
PP_NetAddress_Private address;
@@ -164,8 +196,6 @@ std::string TestTCPSocketPrivate::TestConnectAddress() {
PASS();
}
-// TODO(viettrungluu): Try testing SSL somehow.
-
int32_t TestTCPSocketPrivate::ReadFirstLineFromSocket(
pp::TCPSocketPrivate* socket,
std::string* s) {

Powered by Google App Engine
This is Rietveld 408576698