Index: services/shell/tests/connect/connect_unittest.cc |
diff --git a/services/shell/tests/connect/connect_unittest.cc b/services/shell/tests/connect/connect_unittest.cc |
index e94da0e5e57fb3fd18164ed0e4b318b4487e2af2..b144468049f31839233f34870775ef60f5b95cd1 100644 |
--- a/services/shell/tests/connect/connect_unittest.cc |
+++ b/services/shell/tests/connect/connect_unittest.cc |
@@ -5,6 +5,7 @@ |
#include <stddef.h> |
#include <stdint.h> |
+#include <memory> |
#include <utility> |
#include "base/bind.h" |
@@ -22,9 +23,10 @@ |
// implementing ShellClientFactory; that these applications can be specified by |
// the package's manifest and are thus registered with the PackageManager. |
-namespace mojo { |
namespace shell { |
+ |
namespace { |
+ |
const char kTestPackageName[] = "mojo:connect_test_package"; |
const char kTestAppName[] = "mojo:connect_test_app"; |
const char kTestAppAName[] = "mojo:connect_test_a"; |
@@ -35,14 +37,16 @@ const char kTestDriverName[] = "exe:connect_test_driver"; |
void ReceiveOneString(std::string* out_string, |
base::RunLoop* loop, |
- const String& in_string) { |
+ const mojo::String& in_string) { |
*out_string = in_string; |
loop->Quit(); |
} |
-void ReceiveTwoStrings(std::string* out_string_1, std::string* out_string_2, |
+void ReceiveTwoStrings(std::string* out_string_1, |
+ std::string* out_string_2, |
base::RunLoop* loop, |
- const String& in_string_1, const String& in_string_2) { |
+ const mojo::String& in_string_1, |
+ const mojo::String& in_string_2) { |
*out_string_1 = in_string_1; |
*out_string_2 = in_string_2; |
loop->Quit(); |
@@ -53,7 +57,7 @@ void ReceiveConnectionResult(mojom::ConnectResult* out_result, |
base::RunLoop* loop, |
int32_t in_result, |
mojom::IdentityPtr in_identity) { |
- *out_result = static_cast<shell::mojom::ConnectResult>(in_result); |
+ *out_result = static_cast<mojom::ConnectResult>(in_result); |
*out_target = in_identity.To<Identity>(); |
loop->Quit(); |
} |
@@ -64,7 +68,7 @@ void QuitLoop(base::RunLoop* loop) { |
} // namespace |
-class ConnectTest : public mojo::test::ShellTest, |
+class ConnectTest : public test::ShellTest, |
public InterfaceFactory<test::mojom::ExposedInterface>, |
public test::mojom::ExposedInterface { |
public: |
@@ -72,8 +76,8 @@ class ConnectTest : public mojo::test::ShellTest, |
~ConnectTest() override {} |
protected: |
- scoped_ptr<Connection> ConnectTo(Connector::ConnectParams* params) { |
- scoped_ptr<Connection> connection = connector()->Connect(params); |
+ std::unique_ptr<Connection> ConnectTo(Connector::ConnectParams* params) { |
+ std::unique_ptr<Connection> connection = connector()->Connect(params); |
base::RunLoop loop; |
connection->AddConnectionCompletedClosure(base::Bind(&QuitLoop, &loop)); |
loop.Run(); |
@@ -104,14 +108,15 @@ class ConnectTest : public mojo::test::ShellTest, |
} |
private: |
- // mojo::test::ShellTest: |
+ // test::ShellTest: |
void SetUp() override { |
- mojo::test::ShellTest::SetUp(); |
+ test::ShellTest::SetUp(); |
// We need to connect to the package first to force the shell to read the |
// package app's manifest and register aliases for the applications it |
// provides. |
test::mojom::ConnectTestServicePtr root_service; |
- scoped_ptr<Connection> connection = connector()->Connect(kTestPackageName); |
+ std::unique_ptr<Connection> connection = |
+ connector()->Connect(kTestPackageName); |
connection->GetInterface(&root_service); |
base::RunLoop run_loop; |
std::string root_name; |
@@ -125,6 +130,7 @@ class ConnectTest : public mojo::test::ShellTest, |
test::mojom::ExposedInterfaceRequest request) override { |
bindings_.AddBinding(this, std::move(request)); |
} |
+ |
void ConnectionAccepted(test::mojom::ConnectionStatePtr state) override { |
connection_state_ = std::move(state); |
ping_callback_.Run(); |
@@ -133,7 +139,7 @@ class ConnectTest : public mojo::test::ShellTest, |
base::Closure ping_callback_; |
test::mojom::ConnectionStatePtr connection_state_; |
- BindingSet<test::mojom::ExposedInterface> bindings_; |
+ mojo::BindingSet<test::mojom::ExposedInterface> bindings_; |
DISALLOW_COPY_AND_ASSIGN(ConnectTest); |
}; |
@@ -141,7 +147,7 @@ class ConnectTest : public mojo::test::ShellTest, |
// Ensure the connection was properly established and that a round trip |
// method call/response is completed. |
TEST_F(ConnectTest, Connect) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppName); |
test::mojom::ConnectTestServicePtr service; |
connection->GetInterface(&service); |
base::RunLoop run_loop; |
@@ -157,8 +163,8 @@ TEST_F(ConnectTest, Connect) { |
TEST_F(ConnectTest, Instances) { |
Connector::ConnectParams params_a( |
Identity(kTestAppName, mojom::kInheritUserID, "A")); |
- scoped_ptr<Connection> connection_a1 = ConnectTo(¶ms_a); |
- scoped_ptr<Connection> connection_a2 = ConnectTo(¶ms_a); |
+ std::unique_ptr<Connection> connection_a1 = ConnectTo(¶ms_a); |
+ std::unique_ptr<Connection> connection_a2 = ConnectTo(¶ms_a); |
std::string instance_a1, instance_a2; |
test::mojom::ConnectTestServicePtr service_a1; |
{ |
@@ -178,7 +184,7 @@ TEST_F(ConnectTest, Instances) { |
Connector::ConnectParams params_b( |
Identity(kTestAppName, mojom::kInheritUserID, "B")); |
- scoped_ptr<Connection> connection_b = ConnectTo(¶ms_b); |
+ std::unique_ptr<Connection> connection_b = ConnectTo(¶ms_b); |
std::string instance_b; |
test::mojom::ConnectTestServicePtr service_b; |
{ |
@@ -199,7 +205,7 @@ TEST_F(ConnectTest, PreferUnresolvedDefaultInstanceName) { |
// Connect to an app with no manifest-supplied instance name provided by a |
// package, the instance name must be derived from the application instance |
// name, not the package. |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppName); |
{ |
base::RunLoop loop; |
connection->AddConnectionCompletedClosure(base::Bind(&QuitLoop, &loop)); |
@@ -220,7 +226,7 @@ TEST_F(ConnectTest, PreferUnresolvedDefaultInstanceName) { |
// BlockedInterface should not be exposed to this application because it is not |
// in our CapabilityFilter whitelist. |
TEST_F(ConnectTest, BlockedInterface) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppName); |
base::RunLoop run_loop; |
test::mojom::BlockedInterfacePtr blocked; |
connection->GetInterface(&blocked); |
@@ -233,7 +239,7 @@ TEST_F(ConnectTest, BlockedInterface) { |
// Connects to an app provided by a package. |
TEST_F(ConnectTest, PackagedApp) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppAName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppAName); |
test::mojom::ConnectTestServicePtr service_a; |
connection->GetInterface(&service_a); |
base::RunLoop run_loop; |
@@ -252,7 +258,7 @@ TEST_F(ConnectTest, PackagedApp) { |
// allowed regardless of the target's CapabilityFilter with respect to the |
// package. |
TEST_F(ConnectTest, BlockedPackage) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppName); |
test::mojom::StandaloneAppPtr standalone_app; |
connection->GetInterface(&standalone_app); |
base::RunLoop run_loop; |
@@ -266,7 +272,7 @@ TEST_F(ConnectTest, BlockedPackage) { |
// BlockedInterface should not be exposed to this application because it is not |
// in our CapabilityFilter whitelist. |
TEST_F(ConnectTest, PackagedApp_BlockedInterface) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppAName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppAName); |
base::RunLoop run_loop; |
test::mojom::BlockedInterfacePtr blocked; |
connection->GetInterface(&blocked); |
@@ -277,7 +283,7 @@ TEST_F(ConnectTest, PackagedApp_BlockedInterface) { |
// Connection to another application provided by the same package, blocked |
// because it's not in the capability filter whitelist. |
TEST_F(ConnectTest, BlockedPackagedApplication) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppBName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppBName); |
test::mojom::ConnectTestServicePtr service_b; |
connection->GetInterface(&service_b); |
base::RunLoop run_loop; |
@@ -289,7 +295,7 @@ TEST_F(ConnectTest, BlockedPackagedApplication) { |
} |
TEST_F(ConnectTest, CapabilityClasses) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppName); |
test::mojom::StandaloneAppPtr standalone_app; |
connection->GetInterface(&standalone_app); |
std::string string1, string2; |
@@ -302,10 +308,10 @@ TEST_F(ConnectTest, CapabilityClasses) { |
} |
TEST_F(ConnectTest, ConnectAsDifferentUser_Allowed) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppName); |
test::mojom::UserIdTestPtr user_id_test; |
connection->GetInterface(&user_id_test); |
- shell::mojom::ConnectResult result; |
+ mojom::ConnectResult result; |
Identity target(kTestClassAppName, base::GenerateGUID()); |
Identity result_identity; |
{ |
@@ -315,15 +321,15 @@ TEST_F(ConnectTest, ConnectAsDifferentUser_Allowed) { |
base::Bind(&ReceiveConnectionResult, &result, &result_identity, &loop)); |
loop.Run(); |
} |
- EXPECT_EQ(result, shell::mojom::ConnectResult::SUCCEEDED); |
+ EXPECT_EQ(result, mojom::ConnectResult::SUCCEEDED); |
EXPECT_EQ(target, result_identity); |
} |
TEST_F(ConnectTest, ConnectAsDifferentUser_Blocked) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppAName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppAName); |
test::mojom::UserIdTestPtr user_id_test; |
connection->GetInterface(&user_id_test); |
- shell::mojom::ConnectResult result; |
+ mojom::ConnectResult result; |
Identity target(kTestClassAppName, base::GenerateGUID()); |
Identity result_identity; |
{ |
@@ -333,17 +339,18 @@ TEST_F(ConnectTest, ConnectAsDifferentUser_Blocked) { |
base::Bind(&ReceiveConnectionResult, &result, &result_identity, &loop)); |
loop.Run(); |
} |
- EXPECT_EQ(shell::mojom::ConnectResult::ACCESS_DENIED, result); |
+ EXPECT_EQ(mojom::ConnectResult::ACCESS_DENIED, result); |
EXPECT_FALSE(target == result_identity); |
} |
// There are various other tests (shell, lifecycle) that test valid client |
// process specifications. This is the only one for blocking. |
TEST_F(ConnectTest, ConnectToClientProcess_Blocked) { |
- scoped_ptr<Connection> connection = connector()->Connect(kTestDriverName); |
+ std::unique_ptr<Connection> connection = |
+ connector()->Connect(kTestDriverName); |
test::mojom::ClientProcessTestPtr client_process_test; |
connection->GetInterface(&client_process_test); |
- shell::mojom::ConnectResult result; |
+ mojom::ConnectResult result; |
Identity result_identity; |
{ |
base::RunLoop loop; |
@@ -351,7 +358,7 @@ TEST_F(ConnectTest, ConnectToClientProcess_Blocked) { |
base::Bind(&ReceiveConnectionResult, &result, &result_identity, &loop)); |
loop.Run(); |
} |
- EXPECT_EQ(shell::mojom::ConnectResult::ACCESS_DENIED, result); |
+ EXPECT_EQ(mojom::ConnectResult::ACCESS_DENIED, result); |
} |
// Verifies that a client with the "all_users" capability class can receive |
@@ -363,7 +370,7 @@ TEST_F(ConnectTest, AllUsersSingleton) { |
const std::string singleton_userid = base::GenerateGUID(); |
Connector::ConnectParams params( |
Identity(kTestSingletonAppName, singleton_userid)); |
- scoped_ptr<Connection> connection = connector()->Connect(¶ms); |
+ std::unique_ptr<Connection> connection = connector()->Connect(¶ms); |
{ |
base::RunLoop loop; |
connection->AddConnectionCompletedClosure(base::Bind(&QuitLoop, &loop)); |
@@ -372,7 +379,7 @@ TEST_F(ConnectTest, AllUsersSingleton) { |
} |
// This connects using the current client's user_id. It should be bound to the |
// same service started above, with the same shell-generated user id. |
- scoped_ptr<Connection> inherit_connection = |
+ std::unique_ptr<Connection> inherit_connection = |
connector()->Connect(kTestSingletonAppName); |
{ |
base::RunLoop loop; |
@@ -389,11 +396,11 @@ TEST_F(ConnectTest, LocalInterface) { |
// Connect to a standalone application. |
{ |
test::mojom::ConnectTestServicePtr service; |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppName); |
+ std::unique_ptr<Connection> connection = connector()->Connect(kTestAppName); |
connection->GetInterface(&service); |
connection->AddInterface<test::mojom::ExposedInterface>(this); |
- uint32_t remote_id = shell::mojom::kInvalidInstanceID; |
+ uint32_t remote_id = mojom::kInvalidInstanceID; |
{ |
base::RunLoop run_loop; |
EXPECT_TRUE(connection->IsPending()); |
@@ -419,11 +426,12 @@ TEST_F(ConnectTest, LocalInterface) { |
// Connect to an application provided by a package. |
{ |
test::mojom::ConnectTestServicePtr service_a; |
- scoped_ptr<Connection> connection = connector()->Connect(kTestAppAName); |
+ std::unique_ptr<Connection> connection = |
+ connector()->Connect(kTestAppAName); |
connection->GetInterface(&service_a); |
connection->AddInterface<test::mojom::ExposedInterface>(this); |
- uint32_t remote_id = shell::mojom::kInvalidInstanceID; |
+ uint32_t remote_id = mojom::kInvalidInstanceID; |
{ |
base::RunLoop run_loop; |
EXPECT_TRUE(connection->IsPending()); |
@@ -449,4 +457,3 @@ TEST_F(ConnectTest, LocalInterface) { |
} |
} // namespace shell |
-} // namespace mojo |