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
