| Index: mojo/public/cpp/application/tests/service_provider_impl_unittest.cc
|
| diff --git a/mojo/public/cpp/application/tests/service_provider_impl_unittest.cc b/mojo/public/cpp/application/tests/service_provider_impl_unittest.cc
|
| index e0a4f12297e20a88ab03f75c0acafe20cf1a72b5..a66f182e622112f96369382d9d277db7eefa7f23 100644
|
| --- a/mojo/public/cpp/application/tests/service_provider_impl_unittest.cc
|
| +++ b/mojo/public/cpp/application/tests/service_provider_impl_unittest.cc
|
| @@ -54,23 +54,36 @@ class PingServiceImpl : public test::PingService {
|
| };
|
|
|
| TEST_F(ServiceProviderImplTest, Basic) {
|
| + const char kRemoteUrl[] = "https://example.com/remote.mojo";
|
| + const char kConnectionUrl[] = "https://example.com/me.mojo";
|
| +
|
| const char kPing1[] = "Ping1";
|
| const char kPing2[] = "Ping2";
|
| const char kPing3[] = "Ping3";
|
|
|
| ServiceProviderPtr sp;
|
| - ServiceProviderImpl impl(GetProxy(&sp));
|
| + ServiceProviderImpl impl(ConnectionContext(ConnectionContext::Type::INCOMING,
|
| + kRemoteUrl, kConnectionUrl),
|
| + GetProxy(&sp));
|
|
|
| impl.AddServiceNew<test::PingService>(
|
| - [](const ConnectionContext& connection_context,
|
| - InterfaceRequest<test::PingService> ping_service_request) {
|
| + [&kRemoteUrl, &kConnectionUrl](
|
| + const ConnectionContext& connection_context,
|
| + InterfaceRequest<test::PingService> ping_service_request) {
|
| + EXPECT_EQ(ConnectionContext::Type::INCOMING, connection_context.type);
|
| + EXPECT_EQ(kRemoteUrl, connection_context.remote_url);
|
| + EXPECT_EQ(kConnectionUrl, connection_context.connection_url);
|
| new PingServiceImpl(std::move(ping_service_request));
|
| },
|
| kPing1);
|
|
|
| impl.AddServiceNew<test::PingService>(
|
| - [](const ConnectionContext& connection_context,
|
| - InterfaceRequest<test::PingService> ping_service_request) {
|
| + [&kRemoteUrl, &kConnectionUrl](
|
| + const ConnectionContext& connection_context,
|
| + InterfaceRequest<test::PingService> ping_service_request) {
|
| + EXPECT_EQ(ConnectionContext::Type::INCOMING, connection_context.type);
|
| + EXPECT_EQ(kRemoteUrl, connection_context.remote_url);
|
| + EXPECT_EQ(kConnectionUrl, connection_context.connection_url);
|
| new PingServiceImpl(std::move(ping_service_request));
|
| },
|
| kPing2);
|
| @@ -108,14 +121,24 @@ TEST_F(ServiceProviderImplTest, Basic) {
|
| }
|
|
|
| TEST_F(ServiceProviderImplTest, CloseAndRebind) {
|
| + const char kRemoteUrl1[] = "https://example.com/remote1.mojo";
|
| + const char kRemoteUrl2[] = "https://example.com/remote2.mojo";
|
| + const char kConnectionUrl[] = "https://example.com/me.mojo";
|
| const char kPing[] = "Ping";
|
|
|
| ServiceProviderPtr sp1;
|
| - ServiceProviderImpl impl(GetProxy(&sp1));
|
| + ServiceProviderImpl impl(ConnectionContext(ConnectionContext::Type::INCOMING,
|
| + kRemoteUrl1, kConnectionUrl),
|
| + GetProxy(&sp1));
|
|
|
| impl.AddServiceNew<test::PingService>(
|
| - [](const ConnectionContext& connection_context,
|
| - InterfaceRequest<test::PingService> ping_service_request) {
|
| + [&kRemoteUrl1, &kRemoteUrl2, &kConnectionUrl](
|
| + const ConnectionContext& connection_context,
|
| + InterfaceRequest<test::PingService> ping_service_request) {
|
| + EXPECT_EQ(ConnectionContext::Type::INCOMING, connection_context.type);
|
| + EXPECT_TRUE(connection_context.remote_url == kRemoteUrl1 ||
|
| + connection_context.remote_url == kRemoteUrl2);
|
| + EXPECT_EQ(kConnectionUrl, connection_context.connection_url);
|
| new PingServiceImpl(std::move(ping_service_request));
|
| },
|
| kPing);
|
| @@ -134,7 +157,9 @@ TEST_F(ServiceProviderImplTest, CloseAndRebind) {
|
| loop().RunUntilIdle();
|
|
|
| ServiceProviderPtr sp2;
|
| - impl.Bind(GetProxy(&sp2));
|
| + impl.Bind(ConnectionContext(ConnectionContext::Type::INCOMING, kRemoteUrl2,
|
| + kConnectionUrl),
|
| + GetProxy(&sp2));
|
|
|
| {
|
| test::PingServicePtr ping;
|
| @@ -153,16 +178,24 @@ TEST_F(ServiceProviderImplTest, CloseAndRebind) {
|
| }
|
|
|
| TEST_F(ServiceProviderImplTest, Bind) {
|
| + const char kRemoteUrl[] = "https://example.com/remote.mojo";
|
| + const char kConnectionUrl[] = "https://example.com/me.mojo";
|
| const char kPing[] = "Ping";
|
|
|
| ServiceProviderPtr sp;
|
| ServiceProviderImpl impl;
|
|
|
| - impl.Bind(GetProxy(&sp));
|
| + impl.Bind(ConnectionContext(ConnectionContext::Type::INCOMING, kRemoteUrl,
|
| + kConnectionUrl),
|
| + GetProxy(&sp));
|
|
|
| impl.AddServiceNew<test::PingService>(
|
| - [](const ConnectionContext& connection_context,
|
| - InterfaceRequest<test::PingService> request) {
|
| + [&kRemoteUrl, &kConnectionUrl](
|
| + const ConnectionContext& connection_context,
|
| + InterfaceRequest<test::PingService> request) {
|
| + EXPECT_EQ(ConnectionContext::Type::INCOMING, connection_context.type);
|
| + EXPECT_EQ(kRemoteUrl, connection_context.remote_url);
|
| + EXPECT_EQ(kConnectionUrl, connection_context.connection_url);
|
| new PingServiceImpl(std::move(request));
|
| },
|
| kPing);
|
| @@ -204,7 +237,10 @@ TEST_F(ServiceProviderImplTest, FallbackServiceProvider) {
|
| const char kWhatever[] = "Whatever";
|
|
|
| ServiceProviderPtr sp;
|
| - ServiceProviderImpl impl(GetProxy(&sp));
|
| + ServiceProviderImpl impl(ConnectionContext(ConnectionContext::Type::INCOMING,
|
| + "https://example.com/remote.mojo",
|
| + "https://example.com/me.mojo"),
|
| + GetProxy(&sp));
|
|
|
| {
|
| test::PingServicePtr ping;
|
|
|