[appmgr] Use full package URIs in scheme map to identify runners
Test: appmgr_integration_tests
CF-156 #comment runners in scheme map
Change-Id: Id59912a91b509541d25f40eca6490af9dc1fb7ab
diff --git a/bin/appmgr/integration_tests/realm_integration_test.cc b/bin/appmgr/integration_tests/realm_integration_test.cc
index 8d43e90..32eb61a 100644
--- a/bin/appmgr/integration_tests/realm_integration_test.cc
+++ b/bin/appmgr/integration_tests/realm_integration_test.cc
@@ -262,13 +262,29 @@
TEST_F(RealmFakeLoaderTest, CreateWebComponent_HTTP) {
RunComponent(enclosing_environment_.get(), "http://example.com");
ASSERT_TRUE(WaitForComponentLoad());
- EXPECT_EQ("file://web_runner", component_url());
+ EXPECT_EQ("fuchsia-pkg://fuchsia.com/web_runner#meta/web_runner.cmx",
+ component_url());
}
TEST_F(RealmFakeLoaderTest, CreateWebComponent_HTTPS) {
RunComponent(enclosing_environment_.get(), "https://example.com");
ASSERT_TRUE(WaitForComponentLoad());
- EXPECT_EQ("file://web_runner", component_url());
+ EXPECT_EQ("fuchsia-pkg://fuchsia.com/web_runner#meta/web_runner.cmx",
+ component_url());
+}
+
+TEST_F(RealmFakeLoaderTest, CreateCastComponent_CAST) {
+ RunComponent(enclosing_environment_.get(), "cast://a12345/");
+ ASSERT_TRUE(WaitForComponentLoad());
+ EXPECT_EQ("fuchsia-pkg://fuchsia.com/cast_runner#meta/cast_runner.cmx",
+ component_url());
+}
+
+TEST_F(RealmFakeLoaderTest, CreateCastComponent_CASTS) {
+ RunComponent(enclosing_environment_.get(), "casts://a12345/");
+ ASSERT_TRUE(WaitForComponentLoad());
+ EXPECT_EQ("fuchsia-pkg://fuchsia.com/cast_runner#meta/cast_runner.cmx",
+ component_url());
}
TEST_F(RealmFakeLoaderTest, CreateInvalidComponent) {
diff --git a/bin/appmgr/realm.cc b/bin/appmgr/realm.cc
index 5d8057d..cf6b6bb 100644
--- a/bin/appmgr/realm.cc
+++ b/bin/appmgr/realm.cc
@@ -567,7 +567,8 @@
// "web_runner_prototype" instead.
// TODO(CP-71): Remove web_runner_prototype scaffolding once there is a real
// web_runner.
- if (runner_url == "web_runner" &&
+ if (runner_url ==
+ "fuchsia-pkg://fuchsia.com/web_runner#meta/web_runner.cmx" &&
!files::IsDirectory("/pkgfs/packages/web_runner") &&
files::IsDirectory("/pkgfs/packages/web_runner_prototype")) {
runner_url = "web_runner_prototype";
diff --git a/bin/appmgr/scheme_map.config b/bin/appmgr/scheme_map.config
index fe5d70c..68f28fb 100644
--- a/bin/appmgr/scheme_map.config
+++ b/bin/appmgr/scheme_map.config
@@ -1,7 +1,7 @@
{
"launchers": {
"package": [ "file", "fuchsia-pkg" ],
- "web_runner": [ "http", "https" ],
- "cast_runner": [ "cast", "casts" ]
+ "fuchsia-pkg://fuchsia.com/web_runner#meta/web_runner.cmx": [ "http", "https" ],
+ "fuchsia-pkg://fuchsia.com/cast_runner#meta/cast_runner.cmx": [ "cast", "casts" ]
}
}