[#6391] Provide default sitemap on Application class

Signed-off-by: Tim Van Steenburgh <tvansteenburgh@gmail.com>
diff --git a/Allura/allura/app.py b/Allura/allura/app.py
index 7ce847d..4599009 100644
--- a/Allura/allura/app.py
+++ b/Allura/allura/app.py
@@ -176,9 +176,6 @@
         Application. Default is True.
     :cvar list permissions: Named permissions used by instances of this
         Application. Default is [].
-    :cvar list sitemap: :class:`SitemapEntries <allura.app.SitemapEntry>`
-        used to create the Application's navigation in the main project nav.
-        Default is [].
     :cvar bool installable: Default is True, Application can be installed in
         projects.
     :cvar bool hidden: Default is False, Application is not hidden from the
@@ -211,7 +208,6 @@
     root = None  # root controller
     api_root = None
     permissions = []
-    sitemap = []
     installable = True
     searchable = False
     DiscussionClass = model.Discussion
@@ -244,6 +240,17 @@
         self.admin = DefaultAdminController(self)
 
     @LazyProperty
+    def sitemap(self):
+        """Return a list of :class:`SitemapEntries <allura.app.SitemapEntry>`
+        describing the page hierarchy provided by this Application.
+
+        If the list is empty, the Application will not be displayed in the
+        main project nav bar.
+
+        """
+        return [SitemapEntry(self.config.options.mount_label, '.')]
+
+    @LazyProperty
     def url(self):
         """Return the URL for this Application.
 
diff --git a/Allura/allura/tests/unit/factories.py b/Allura/allura/tests/unit/factories.py
index b4a5f1c..50f24dd 100644
--- a/Allura/allura/tests/unit/factories.py
+++ b/Allura/allura/tests/unit/factories.py
@@ -53,7 +53,10 @@
     return AppConfig(
         project_id=project._id,
         tool_name='myapp',
-        options={'mount_point': 'my_mounted_app'},
+        options={
+            'mount_point': 'my_mounted_app',
+            'mount_label': 'My Mounted App',
+        },
         acl=[])
 
 
diff --git a/Allura/allura/tests/unit/test_app.py b/Allura/allura/tests/unit/test_app.py
index 8f0c0db..01f4be1 100644
--- a/Allura/allura/tests/unit/test_app.py
+++ b/Allura/allura/tests/unit/test_app.py
@@ -80,6 +80,10 @@
     def test_that_it_denies_access_for_everything(self):
         assert not self.app.has_access(model.User.anonymous(), 'any.topic')
 
+    def test_default_sitemap(self):
+        assert self.app.sitemap[0].label == 'My Mounted App'
+        assert self.app.sitemap[0].url == '.'
+
 
 def install_app():
     project = create_project('myproject')