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

Unified Diff: mojo/shell/tests/application_manager_unittest.cc

Issue 1743473002: Change Mojo URLs to structured names (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@18collapse
Patch Set: . Created 4 years, 10 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/application_manager_apptest_target.cc ('k') | mojo/shell/tests/capability_filter_test.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/shell/tests/application_manager_unittest.cc
diff --git a/mojo/shell/tests/application_manager_unittest.cc b/mojo/shell/tests/application_manager_unittest.cc
index bed3c741ace67bd14ceb2a2eb1589d520669beb9..5a5d351368c25096a7ed3d0e11a4e677df79362c 100644
--- a/mojo/shell/tests/application_manager_unittest.cc
+++ b/mojo/shell/tests/application_manager_unittest.cc
@@ -109,11 +109,13 @@ class TestApplicationLoader : public ApplicationLoader,
}
int num_loads() const { return num_loads_; }
- const GURL& last_requestor_url() const { return last_requestor_url_; }
+ const std::string& last_requestor_name() const {
+ return last_requestor_name_;
+ }
private:
// ApplicationLoader implementation.
- void Load(const GURL& url,
+ void Load(const std::string& name,
InterfaceRequest<mojom::ShellClient> request) override {
++num_loads_;
shell_connection_.reset(new ShellConnection(this, std::move(request)));
@@ -122,7 +124,7 @@ class TestApplicationLoader : public ApplicationLoader,
// mojo::ShellClient implementation.
bool AcceptConnection(Connection* connection) override {
connection->AddInterface<TestService>(this);
- last_requestor_url_ = GURL(connection->GetRemoteApplicationURL());
+ last_requestor_name_ = connection->GetRemoteApplicationName();
return true;
}
@@ -135,7 +137,7 @@ class TestApplicationLoader : public ApplicationLoader,
scoped_ptr<ShellConnection> shell_connection_;
TestContext* context_;
int num_loads_;
- GURL last_requestor_url_;
+ std::string last_requestor_name_;
DISALLOW_COPY_AND_ASSIGN(TestApplicationLoader);
};
@@ -143,7 +145,7 @@ class TestApplicationLoader : public ApplicationLoader,
class ClosingApplicationLoader : public ApplicationLoader {
private:
// ApplicationLoader implementation.
- void Load(const GURL& url,
+ void Load(const std::string& name,
InterfaceRequest<mojom::ShellClient> request) override {
}
};
@@ -243,7 +245,7 @@ class TesterContext {
base::MessageLoop* loop_;
};
-// Used to test that the requestor url will be correctly passed.
+// Used to test that the requestor name will be correctly passed.
class TestAImpl : public TestA {
public:
TestAImpl(Connector* connector,
@@ -340,26 +342,26 @@ class Tester : public ShellClient,
public InterfaceFactory<TestB>,
public InterfaceFactory<TestC> {
public:
- Tester(TesterContext* context, const std::string& requestor_url)
- : context_(context), requestor_url_(requestor_url) {}
+ Tester(TesterContext* context, const std::string& requestor_name)
+ : context_(context), requestor_name_(requestor_name) {}
~Tester() override {}
private:
- void Load(const GURL& url,
+ void Load(const std::string& name,
InterfaceRequest<mojom::ShellClient> request) override {
app_.reset(new ShellConnection(this, std::move(request)));
}
bool AcceptConnection(Connection* connection) override {
- if (!requestor_url_.empty() &&
- requestor_url_ != connection->GetRemoteApplicationURL()) {
+ if (!requestor_name_.empty() &&
+ requestor_name_ != connection->GetRemoteApplicationName()) {
context_->set_tester_called_quit();
context_->QuitSoon();
base::MessageLoop::current()->QuitWhenIdle();
return false;
}
// If we're coming from A, then add B, otherwise A.
- if (connection->GetRemoteApplicationURL() == kTestAURLString)
+ if (connection->GetRemoteApplicationName() == kTestAURLString)
connection->AddInterface<TestB>(this);
else
connection->AddInterface<TestA>(this);
@@ -384,7 +386,7 @@ class Tester : public ShellClient,
TesterContext* context_;
scoped_ptr<ShellConnection> app_;
- std::string requestor_url_;
+ std::string requestor_name_;
ScopedVector<TestAImpl> a_bindings_;
};
@@ -400,13 +402,13 @@ class ApplicationManagerTest : public testing::Test {
void SetUp() override {
application_manager_.reset(
- new ApplicationManager(nullptr, nullptr, true, nullptr));
+ new ApplicationManager(nullptr, nullptr, nullptr));
test_loader_ = new TestApplicationLoader(&context_);
application_manager_->set_default_loader(
scoped_ptr<ApplicationLoader>(test_loader_));
TestServicePtr service_proxy;
- ConnectToInterface(GURL(kTestURLString), &service_proxy);
+ ConnectToInterface(kTestURLString, &service_proxy);
test_client_.reset(new TestClient(std::move(service_proxy)));
}
@@ -415,24 +417,26 @@ class ApplicationManagerTest : public testing::Test {
application_manager_.reset();
}
- void AddLoaderForURL(const GURL& url, const std::string& requestor_url) {
- application_manager_->SetLoaderForURL(
- make_scoped_ptr(new Tester(&tester_context_, requestor_url)), url);
+ void AddLoaderForName(const std::string& name,
+ const std::string& requestor_name) {
+ application_manager_->SetLoaderForName(
+ make_scoped_ptr(new Tester(&tester_context_, requestor_name)), name);
}
- bool HasRunningInstanceForURL(const GURL& url) {
+ bool HasRunningInstanceForName(const std::string& name) {
ApplicationManager::TestAPI manager_test_api(application_manager_.get());
- return manager_test_api.HasRunningInstanceForURL(url);
+ return manager_test_api.HasRunningInstanceForName(name);
}
protected:
template <typename Interface>
- void ConnectToInterface(const GURL& url, InterfacePtr<Interface>* ptr) {
+ void ConnectToInterface(const std::string& name,
+ InterfacePtr<Interface>* ptr) {
base::RunLoop loop;
mojom::InterfaceProviderPtr remote_interfaces;
scoped_ptr<ConnectParams> params(new ConnectParams);
params->set_source(CreateShellIdentity());
- params->set_target(Identity(url));
+ params->set_target(Identity(name));
params->set_remote_interfaces(GetProxy(&remote_interfaces));
params->set_connect_callback(
base::Bind(&OnConnect, base::Unretained(&loop)));
@@ -460,65 +464,65 @@ TEST_F(ApplicationManagerTest, Basic) {
TEST_F(ApplicationManagerTest, ClientError) {
test_client_->Test("test");
- EXPECT_TRUE(HasRunningInstanceForURL(GURL(kTestURLString)));
+ EXPECT_TRUE(HasRunningInstanceForName(kTestURLString));
loop_.Run();
EXPECT_EQ(1, context_.num_impls);
test_client_.reset();
loop_.Run();
EXPECT_EQ(0, context_.num_impls);
- EXPECT_TRUE(HasRunningInstanceForURL(GURL(kTestURLString)));
+ EXPECT_TRUE(HasRunningInstanceForName(kTestURLString));
}
TEST_F(ApplicationManagerTest, Deletes) {
{
- ApplicationManager am(nullptr, nullptr, true, nullptr);
+ ApplicationManager am(nullptr, nullptr, nullptr);
TestApplicationLoader* default_loader =
new TestApplicationLoader(&context_);
- TestApplicationLoader* url_loader1 = new TestApplicationLoader(&context_);
- TestApplicationLoader* url_loader2 = new TestApplicationLoader(&context_);
+ TestApplicationLoader* name_loader1 = new TestApplicationLoader(&context_);
+ TestApplicationLoader* name_loader2 = new TestApplicationLoader(&context_);
am.set_default_loader(scoped_ptr<ApplicationLoader>(default_loader));
- am.SetLoaderForURL(scoped_ptr<ApplicationLoader>(url_loader1),
- GURL("test:test1"));
- am.SetLoaderForURL(scoped_ptr<ApplicationLoader>(url_loader2),
- GURL("test:test1"));
+ am.SetLoaderForName(scoped_ptr<ApplicationLoader>(name_loader1),
+ "test:test1");
+ am.SetLoaderForName(scoped_ptr<ApplicationLoader>(name_loader2),
+ "test:test1");
}
EXPECT_EQ(3, context_.num_loader_deletes);
}
-// Test for SetLoaderForURL() & set_default_loader().
+// Test for SetLoaderForName() & set_default_loader().
TEST_F(ApplicationManagerTest, SetLoaders) {
TestApplicationLoader* default_loader = new TestApplicationLoader(&context_);
- TestApplicationLoader* url_loader = new TestApplicationLoader(&context_);
+ TestApplicationLoader* name_loader = new TestApplicationLoader(&context_);
application_manager_->set_default_loader(
scoped_ptr<ApplicationLoader>(default_loader));
- application_manager_->SetLoaderForURL(
- scoped_ptr<ApplicationLoader>(url_loader), GURL("test:test1"));
+ application_manager_->SetLoaderForName(
+ scoped_ptr<ApplicationLoader>(name_loader), "test:test1");
- // test::test1 should go to url_loader.
+ // test::test1 should go to name_loader.
TestServicePtr test_service;
- ConnectToInterface(GURL("test:test1"), &test_service);
- EXPECT_EQ(1, url_loader->num_loads());
+ ConnectToInterface("test:test1", &test_service);
+ EXPECT_EQ(1, name_loader->num_loads());
EXPECT_EQ(0, default_loader->num_loads());
// http::test1 should go to default loader.
- ConnectToInterface(GURL("http:test1"), &test_service);
- EXPECT_EQ(1, url_loader->num_loads());
+ ConnectToInterface("http:test1", &test_service);
+ EXPECT_EQ(1, name_loader->num_loads());
EXPECT_EQ(1, default_loader->num_loads());
}
-// Confirm that the url of a service is correctly passed to another service that
-// it loads.
+// Confirm that the name of a service is correctly passed to another service
+// that it loads.
// TODO(beng): these tests are disabled due to the new async connect flow.
// they should be re-written as shell apptests.
TEST_F(ApplicationManagerTest, DISABLED_ACallB) {
- // Any url can load a.
- AddLoaderForURL(GURL(kTestAURLString), std::string());
+ // Any name can load a.
+ AddLoaderForName(kTestAURLString, std::string());
// Only a can load b.
- AddLoaderForURL(GURL(kTestBURLString), kTestAURLString);
+ AddLoaderForName(kTestBURLString, kTestAURLString);
TestAPtr a;
- ConnectToInterface(GURL(kTestAURLString), &a);
+ ConnectToInterface(kTestAURLString, &a);
a->CallB();
loop_.Run();
EXPECT_EQ(1, tester_context_.num_b_calls());
@@ -527,14 +531,14 @@ TEST_F(ApplicationManagerTest, DISABLED_ACallB) {
// A calls B which calls C.
TEST_F(ApplicationManagerTest, DISABLED_BCallC) {
- // Any url can load a.
- AddLoaderForURL(GURL(kTestAURLString), std::string());
+ // Any name can load a.
+ AddLoaderForName(kTestAURLString, std::string());
// Only a can load b.
- AddLoaderForURL(GURL(kTestBURLString), kTestAURLString);
+ AddLoaderForName(kTestBURLString, kTestAURLString);
TestAPtr a;
- ConnectToInterface(GURL(kTestAURLString), &a);
+ ConnectToInterface(kTestAURLString, &a);
a->CallCFromB();
loop_.Run();
@@ -546,34 +550,34 @@ TEST_F(ApplicationManagerTest, DISABLED_BCallC) {
// Confirm that a service impl will be deleted if the app that connected to
// it goes away.
TEST_F(ApplicationManagerTest, DISABLED_BDeleted) {
- AddLoaderForURL(GURL(kTestAURLString), std::string());
- AddLoaderForURL(GURL(kTestBURLString), std::string());
+ AddLoaderForName(kTestAURLString, std::string());
+ AddLoaderForName(kTestBURLString, std::string());
TestAPtr a;
- ConnectToInterface(GURL(kTestAURLString), &a);
+ ConnectToInterface(kTestAURLString, &a);
a->CallB();
loop_.Run();
// Kills the a app.
- application_manager_->SetLoaderForURL(scoped_ptr<ApplicationLoader>(),
- GURL(kTestAURLString));
+ application_manager_->SetLoaderForName(scoped_ptr<ApplicationLoader>(),
+ kTestAURLString);
loop_.Run();
EXPECT_EQ(1, tester_context_.num_b_deletes());
}
-// Confirm that the url of a service is correctly passed to another service that
-// it loads, and that it can be rejected.
+// Confirm that the name of a service is correctly passed to another service
+// that it loads, and that it can be rejected.
TEST_F(ApplicationManagerTest, DISABLED_ANoLoadB) {
- // Any url can load a.
- AddLoaderForURL(GURL(kTestAURLString), std::string());
+ // Any name can load a.
+ AddLoaderForName(kTestAURLString, std::string());
// Only c can load b, so this will fail.
- AddLoaderForURL(GURL(kTestBURLString), "test:TestC");
+ AddLoaderForName(kTestBURLString, "test:TestC");
TestAPtr a;
- ConnectToInterface(GURL(kTestAURLString), &a);
+ ConnectToInterface(kTestAURLString, &a);
a->CallB();
loop_.Run();
EXPECT_EQ(0, tester_context_.num_b_calls());
@@ -583,12 +587,12 @@ TEST_F(ApplicationManagerTest, DISABLED_ANoLoadB) {
}
TEST_F(ApplicationManagerTest, NoServiceNoLoad) {
- AddLoaderForURL(GURL(kTestAURLString), std::string());
+ AddLoaderForName(kTestAURLString, std::string());
// There is no TestC service implementation registered with
// ApplicationManager, so this cannot succeed (but also shouldn't crash).
TestCPtr c;
- ConnectToInterface(GURL(kTestAURLString), &c);
+ ConnectToInterface(kTestAURLString, &c);
c.set_connection_error_handler(
[]() { base::MessageLoop::current()->QuitWhenIdle(); });
@@ -598,14 +602,13 @@ TEST_F(ApplicationManagerTest, NoServiceNoLoad) {
TEST_F(ApplicationManagerTest, TestEndApplicationClosure) {
ClosingApplicationLoader* loader = new ClosingApplicationLoader();
- application_manager_->SetLoaderForURL(
- scoped_ptr<ApplicationLoader>(loader), GURL("test:test"));
+ application_manager_->SetLoaderForName(
+ scoped_ptr<ApplicationLoader>(loader), "test:test");
bool called = false;
scoped_ptr<ConnectParams> params(new ConnectParams);
params->set_source(CreateShellIdentity());
- params->set_target(
- Identity(GURL("test:test"), "", mojom::Connector::kUserRoot));
+ params->set_target(Identity("test:test", "", mojom::Connector::kUserRoot));
application_manager_->SetInstanceQuitCallback(
base::Bind(&QuitClosure, params->target(), &called));
application_manager_->Connect(std::move(params));
@@ -618,15 +621,15 @@ TEST_F(ApplicationManagerTest, SameIdentityShouldNotCauseDuplicateLoad) {
EXPECT_EQ(1, test_loader_->num_loads());
TestServicePtr test_service;
- ConnectToInterface(GURL("test:foo"), &test_service);
+ ConnectToInterface("test:foo", &test_service);
EXPECT_EQ(2, test_loader_->num_loads());
- // Exactly the same URL as above.
- ConnectToInterface(GURL("test:foo"), &test_service);
+ // Exactly the same name as above.
+ ConnectToInterface("test:foo", &test_service);
EXPECT_EQ(2, test_loader_->num_loads());
// A different identity because the domain is different.
- ConnectToInterface(GURL("test:bar"), &test_service);
+ ConnectToInterface("test:bar", &test_service);
EXPECT_EQ(3, test_loader_->num_loads());
}
« no previous file with comments | « mojo/shell/tests/application_manager_apptest_target.cc ('k') | mojo/shell/tests/capability_filter_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698