[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" ]
     }
 }