Repository: mesos
Updated Branches:
  refs/heads/master c31779787 -> 26d820e15


Add SSL test for 'Socket::peer()'.

Review: https://reviews.apache.org/r/36146


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/0cf9204d
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/0cf9204d
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/0cf9204d

Branch: refs/heads/master
Commit: 0cf9204d0f1cba9d4a869cade1eec9f796adeac1
Parents: c317797
Author: Joris Van Remoortere <[email protected]>
Authored: Thu Jul 2 14:53:26 2015 -0700
Committer: Benjamin Hindman <[email protected]>
Committed: Thu Jul 2 14:53:26 2015 -0700

----------------------------------------------------------------------
 3rdparty/libprocess/src/tests/ssl_tests.cpp | 37 ++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/0cf9204d/3rdparty/libprocess/src/tests/ssl_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/tests/ssl_tests.cpp 
b/3rdparty/libprocess/src/tests/ssl_tests.cpp
index 6bd762f..869ed65 100644
--- a/3rdparty/libprocess/src/tests/ssl_tests.cpp
+++ b/3rdparty/libprocess/src/tests/ssl_tests.cpp
@@ -877,4 +877,41 @@ TEST_F(SSLTest, NoValidDowngradeEachProtocol)
   }
 }
 
+
+// Verify that the 'peer()' address call works correctly.
+TEST_F(SSLTest, PeerAddress)
+{
+  Try<Socket> server = setup_server({
+      {"SSL_ENABLED", "true"},
+      {"SSL_KEY_FILE", key_path().value},
+      {"SSL_CERT_FILE", certificate_path().value}});
+  ASSERT_SOME(server);
+
+  const Try<Socket> client_create = Socket::create(Socket::SSL);
+  ASSERT_SOME(client_create);
+
+  Socket client = client_create.get();
+
+  Future<Socket> socket = server.get().accept();
+
+  const Try<Address> server_address = server.get().address();
+  ASSERT_SOME(server_address);
+
+  const Future<Nothing> connect = client.connect(server_address.get());
+
+  AWAIT_ASSERT_READY(socket);
+  AWAIT_ASSERT_READY(connect);
+
+  const Try<Address> socket_address = socket.get().address();
+  ASSERT_SOME(socket_address);
+
+  // Ensure the client thinks its peer is the server.
+  ASSERT_SOME_EQ(socket_address.get(), client.peer());
+
+  // Ensure the client has an address, and that the server thinks its
+  // peer is the client.
+  ASSERT_SOME(client.address());
+  ASSERT_SOME_EQ(client.address().get(), socket.get().peer());
+}
+
 #endif // USE_SSL_SOCKET

Reply via email to