Test a basic back-and-forth communication using the 'ssl-client' subprocess.
| 153 | // Test a basic back-and-forth communication using the 'ssl-client' |
| 154 | // subprocess. |
| 155 | TEST_F(SSLTest, SSLSocket) |
| 156 | { |
| 157 | Try<Socket> server = setup_server({ |
| 158 | {"LIBPROCESS_SSL_ENABLED", "true"}, |
| 159 | {"LIBPROCESS_SSL_KEY_FILE", key_path().string()}, |
| 160 | {"LIBPROCESS_SSL_CERT_FILE", certificate_path().string()}}); |
| 161 | ASSERT_SOME(server); |
| 162 | |
| 163 | Try<Subprocess> client = launch_client({ |
| 164 | {"LIBPROCESS_SSL_ENABLED", "true"}, |
| 165 | {"LIBPROCESS_SSL_KEY_FILE", key_path().string()}, |
| 166 | {"LIBPROCESS_SSL_CERT_FILE", certificate_path().string()}}, |
| 167 | server.get(), |
| 168 | true); |
| 169 | ASSERT_SOME(client); |
| 170 | |
| 171 | Future<Socket> socket = server->accept(); |
| 172 | AWAIT_ASSERT_READY(socket); |
| 173 | |
| 174 | // TODO(jmlvanre): Remove const copy. |
| 175 | AWAIT_ASSERT_EQ(data, Socket(socket.get()).recv()); |
| 176 | AWAIT_ASSERT_READY(Socket(socket.get()).send(data)); |
| 177 | |
| 178 | AWAIT_ASSERT_READY(await_subprocess(client.get(), 0)); |
| 179 | } |
| 180 | |
| 181 | |
| 182 | // Ensure that a POLL based socket can't connect to an SSL based |
nothing calls this directly
no test coverage detected