Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Unified Diff: mojo/shell/tests/connect/connect_unittest.cc

Issue 1769163002: Add a instance groups to Connect(), and introduce an Identity struct. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/shell/tests/connect/connect_test_package.cc ('k') | mojo/shell/tests/lifecycle/lifecycle_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/shell/tests/connect/connect_unittest.cc
diff --git a/mojo/shell/tests/connect/connect_unittest.cc b/mojo/shell/tests/connect/connect_unittest.cc
index bf04e14a35af3dfc3baa9d144a60fb8eef86799e..e28a63565845fa70b1ea168313a2b96cd8ae6570 100644
--- a/mojo/shell/tests/connect/connect_unittest.cc
+++ b/mojo/shell/tests/connect/connect_unittest.cc
@@ -49,6 +49,14 @@ class ConnectTest : public mojo::test::ShellTest,
~ConnectTest() override {}
protected:
+ scoped_ptr<Connection> ConnectTo(Connector::ConnectParams* params) {
+ scoped_ptr<Connection> connection = connector()->Connect(params);
+ base::RunLoop loop;
+ connection->AddConnectionCompletedClosure(base::Bind(&QuitLoop, &loop));
+ loop.Run();
+ return connection;
+ }
+
void set_ping_callback(const base::Closure& callback) {
ping_callback_ = callback;
}
@@ -119,7 +127,47 @@ TEST_F(ConnectTest, Connect) {
EXPECT_EQ("APP", title);
EXPECT_FALSE(connection->IsPending());
EXPECT_NE(mojom::kInvalidInstanceID, connection->GetRemoteInstanceID());
- EXPECT_EQ(connection->GetRemoteApplicationName(), kTestAppName);
+ EXPECT_EQ(connection->GetRemoteIdentity().name(), kTestAppName);
+}
+
+TEST_F(ConnectTest, Instances) {
+ Connector::ConnectParams params_a(
+ Identity(kTestAppName, mojom::kInheritUserID, "A"));
+ scoped_ptr<Connection> connection_a1 = ConnectTo(&params_a);
+ scoped_ptr<Connection> connection_a2 = ConnectTo(&params_a);
+ std::string instance_a1, instance_a2;
+ test::mojom::StandaloneAppPtr standalone_app_a1;
+ {
+ connection_a1->GetInterface(&standalone_app_a1);
+ base::RunLoop loop;
+ standalone_app_a1->GetInstance(
+ base::Bind(&ReceiveTitle, &instance_a1, &loop));
+ loop.Run();
+ }
+ test::mojom::StandaloneAppPtr standalone_app_a2;
+ {
+ connection_a2->GetInterface(&standalone_app_a2);
+ base::RunLoop loop;
+ standalone_app_a2->GetInstance(
+ base::Bind(&ReceiveTitle, &instance_a2, &loop));
+ loop.Run();
+ }
+ EXPECT_EQ(instance_a1, instance_a2);
+
+ Connector::ConnectParams params_b(
+ Identity(kTestAppName, mojom::kInheritUserID, "B"));
+ scoped_ptr<Connection> connection_b = ConnectTo(&params_b);
+ std::string instance_b;
+ test::mojom::StandaloneAppPtr standalone_app_b;
+ {
+ connection_b->GetInterface(&standalone_app_b);
+ base::RunLoop loop;
+ standalone_app_b->GetInstance(
+ base::Bind(&ReceiveTitle, &instance_b, &loop));
+ loop.Run();
+ }
+
+ EXPECT_NE(instance_a1, instance_b);
}
// BlockedInterface should not be exposed to this application because it is not
@@ -148,7 +196,7 @@ TEST_F(ConnectTest, PackagedApp) {
EXPECT_EQ("A", a_name);
EXPECT_FALSE(connection->IsPending());
EXPECT_NE(mojom::kInvalidInstanceID, connection->GetRemoteInstanceID());
- EXPECT_EQ(connection->GetRemoteApplicationName(), kTestAppAName);
+ EXPECT_EQ(connection->GetRemoteIdentity().name(), kTestAppAName);
}
// Ask the target application to attempt to connect to a third application
@@ -222,7 +270,7 @@ TEST_F(ConnectTest, LocalInterface) {
run_loop.Run();
CompareConnectionState(
kTestAppName, test_name(), test_userid(), test_instance_id(),
- kTestAppName, connection->GetRemoteUserID(), remote_id);
+ kTestAppName, connection->GetRemoteIdentity().user_id(), remote_id);
}
}
@@ -252,7 +300,7 @@ TEST_F(ConnectTest, LocalInterface) {
run_loop.Run();
CompareConnectionState(
kTestAppAName, test_name(), test_userid(), test_instance_id(),
- kTestAppAName, connection->GetRemoteUserID(), remote_id);
+ kTestAppAName, connection->GetRemoteIdentity().user_id(), remote_id);
}
}
« no previous file with comments | « mojo/shell/tests/connect/connect_test_package.cc ('k') | mojo/shell/tests/lifecycle/lifecycle_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698