| Index: services/http_server/http_server_apptest.cc
|
| diff --git a/services/http_server/http_server_apptest.cc b/services/http_server/http_server_apptest.cc
|
| index 280a867ecd0bd8b8e361485800355e3a77317168..80c37951d96b823715dddd3935ebee5ac8c1516e 100644
|
| --- a/services/http_server/http_server_apptest.cc
|
| +++ b/services/http_server/http_server_apptest.cc
|
| @@ -9,9 +9,10 @@
|
| #include "mojo/public/cpp/application/application_impl.h"
|
| #include "mojo/public/cpp/application/application_test_base.h"
|
| #include "mojo/public/cpp/application/connect.h"
|
| +#include "mojo/public/cpp/bindings/synchronous_interface_ptr.h"
|
| #include "mojo/public/cpp/system/macros.h"
|
| #include "mojo/services/http_server/cpp/http_server_util.h"
|
| -#include "mojo/services/http_server/interfaces/http_server.mojom.h"
|
| +#include "mojo/services/http_server/interfaces/http_server.mojom-sync.h"
|
| #include "mojo/services/http_server/interfaces/http_server_factory.mojom.h"
|
| #include "mojo/services/network/interfaces/net_address.mojom.h"
|
| #include "mojo/services/network/interfaces/network_service.mojom.h"
|
| @@ -20,6 +21,7 @@
|
| namespace http_server {
|
|
|
| namespace {
|
| +
|
| void WriteMessageToDataPipe(
|
| const std::string message,
|
| mojo::ScopedDataPipeConsumerHandle* data_pipe_consumer) {
|
| @@ -40,7 +42,8 @@ void WriteMessageToDataPipe(
|
| ASSERT_EQ(message.size(), bytes);
|
| }
|
|
|
| -const char* kExampleMessage = "Hello, world!";
|
| +const char kExampleMessage[] = "Hello, world!";
|
| +
|
| } // namespace
|
|
|
| // Test handler that responds to all requests with the status OK and
|
| @@ -104,7 +107,7 @@ class HttpServerApplicationTest : public mojo::test::ApplicationTestBase {
|
| GetProxy(&network_service_));
|
| }
|
|
|
| - http_server::HttpServerPtr CreateHttpServer();
|
| + mojo::SynchronousInterfacePtr<http_server::HttpServer> CreateHttpServer();
|
|
|
| http_server::HttpServerFactoryPtr http_server_factory_;
|
| mojo::NetworkServicePtr network_service_;
|
| @@ -113,8 +116,9 @@ class HttpServerApplicationTest : public mojo::test::ApplicationTestBase {
|
| MOJO_DISALLOW_COPY_AND_ASSIGN(HttpServerApplicationTest);
|
| };
|
|
|
| -http_server::HttpServerPtr HttpServerApplicationTest::CreateHttpServer() {
|
| - http_server::HttpServerPtr http_server;
|
| +mojo::SynchronousInterfacePtr<http_server::HttpServer>
|
| +HttpServerApplicationTest::CreateHttpServer() {
|
| + mojo::SynchronousInterfacePtr<http_server::HttpServer> http_server;
|
| mojo::NetAddressPtr local_address(mojo::NetAddress::New());
|
| local_address->family = mojo::NetAddressFamily::IPV4;
|
| local_address->ipv4 = mojo::NetAddressIPv4::New();
|
| @@ -124,7 +128,7 @@ http_server::HttpServerPtr HttpServerApplicationTest::CreateHttpServer() {
|
| local_address->ipv4->addr[2] = 0;
|
| local_address->ipv4->addr[3] = 1;
|
| local_address->ipv4->port = 0;
|
| - http_server_factory_->CreateHttpServer(GetProxy(&http_server).Pass(),
|
| + http_server_factory_->CreateHttpServer(GetSynchronousProxy(&http_server),
|
| local_address.Pass());
|
| return http_server;
|
| }
|
| @@ -140,18 +144,19 @@ void CheckServerResponse(mojo::URLResponsePtr response) {
|
| // Verifies that the server responds to http GET requests using example
|
| // GetHandler.
|
| TEST_F(HttpServerApplicationTest, ServerResponse) {
|
| - http_server::HttpServerPtr http_server(CreateHttpServer());
|
| - uint16_t assigned_port;
|
| - http_server->GetPort([&assigned_port](uint16_t p) { assigned_port = p; });
|
| - http_server.WaitForIncomingResponse();
|
| + auto http_server = CreateHttpServer();
|
| + uint16_t assigned_port = 0;
|
| + EXPECT_TRUE(http_server->GetPort(&assigned_port));
|
| + EXPECT_NE(assigned_port, 0u);
|
|
|
| HttpHandlerPtr http_handler_ptr;
|
| GetHandler handler(GetProxy(&http_handler_ptr).Pass());
|
|
|
| // Set the test handler and wait for confirmation.
|
| - http_server->SetHandler("/test", http_handler_ptr.Pass(),
|
| - [](bool result) { EXPECT_TRUE(result); });
|
| - http_server.WaitForIncomingResponse();
|
| + bool result = false;
|
| + EXPECT_TRUE(
|
| + http_server->SetHandler("/test", http_handler_ptr.Pass(), &result));
|
| + EXPECT_TRUE(result);
|
|
|
| mojo::URLLoaderPtr url_loader;
|
| network_service_->CreateURLLoader(GetProxy(&url_loader));
|
| @@ -167,18 +172,19 @@ TEST_F(HttpServerApplicationTest, ServerResponse) {
|
| // Verifies that the server correctly passes the POST request payload using
|
| // example PostHandler.
|
| TEST_F(HttpServerApplicationTest, PostData) {
|
| - http_server::HttpServerPtr http_server(CreateHttpServer());
|
| - uint16_t assigned_port;
|
| - http_server->GetPort([&assigned_port](uint16_t p) { assigned_port = p; });
|
| - http_server.WaitForIncomingResponse();
|
| + auto http_server = CreateHttpServer();
|
| + uint16_t assigned_port = 0;
|
| + EXPECT_TRUE(http_server->GetPort(&assigned_port));
|
| + EXPECT_NE(assigned_port, 0u);
|
|
|
| HttpHandlerPtr http_handler_ptr;
|
| PostHandler handler(GetProxy(&http_handler_ptr).Pass());
|
|
|
| // Set the test handler and wait for confirmation.
|
| - http_server->SetHandler("/post", http_handler_ptr.Pass(),
|
| - [](bool result) { EXPECT_TRUE(result); });
|
| - http_server.WaitForIncomingResponse();
|
| + bool result = false;
|
| + EXPECT_TRUE(
|
| + http_server->SetHandler("/post", http_handler_ptr.Pass(), &result));
|
| + EXPECT_TRUE(result);
|
|
|
| mojo::URLLoaderPtr url_loader;
|
| network_service_->CreateURLLoader(GetProxy(&url_loader));
|
|
|