Ejemplo n.º 1
0
        public void Publisher_Constructor_DefaultConfigDatabaseIsMaster()
        {
            var w = new Mocks.MockISitemapDataWriter();
            var p = new Publisher(w);

            Assert.AreEqual("master", p.ConfigDatabase);
        }
Ejemplo n.º 2
0
        public void Publisher_Constructor_MockWriterIsAllowed()
        {
            var w = new Mocks.MockISitemapDataWriter();
            var p = new Publisher(w);

            Assert.IsNotNull(p);
        }
Ejemplo n.º 3
0
        public void Publisher_Constructor_CustomConfigDatabaseWorks()
        {
            using (Db db = new Db("web"))
            {
                db.Configuration.Settings[Publisher.ConfigDatabaseSetting] = "web";

                var w = new Mocks.MockISitemapDataWriter();
                var p = new Publisher(w);

                Assert.AreEqual("web", p.ConfigDatabase);
            }
        }
Ejemplo n.º 4
0
        public void Publisher_Execute_SingleItemGeneratesCorrectXML()
        {
            var home = new DbItem("Home");

            var database = new DbItem("master");

            var cfgItem = new DbItem("ExampleSitemapFileDefinition")
            {
                TemplateID = FileDefinition.SitemapFileDefinitionID,
                Fields     =
                {
                    { "FilenameToGenerate", "sitemap.xml"      },
                    { "SourceDatabase",     database.Name      },
                    { "RootItem",           home.ID.ToString() },
                    { "LanguagesToInclude", ""                 },
                    { "TemplatesToInclude", ""                 }
                }
            };

            var moduleInfo = new DbItem("Modules")
            {
                ParentID = Sitecore.ItemIDs.SystemRoot,
                Children =
                {
                    new DbItem("SitemapGenerator")
                    {
                        new DbItem("Databases")
                        {
                            database
                        },
                        new DbItem("SitemapDefinitions", Configuration.SitemapDefinitionsFolderID)
                        {
                            cfgItem
                        }
                    }
                }
            };

            using (Db db = new Db("master")
            {
                home,
                moduleInfo
            })
            {
                var sdw = new Mocks.MockISitemapDataWriter();
                var sp  = new Publisher(sdw);

                sp.Publish(null, null);

                Assert.AreEqual(1, sdw.Calls);
                Assert.AreEqual("sitemap.xml", sdw.FileName);
                Assert.IsNotNull(sdw.Xml);

                string url = sdw.Xml.Document
                             .Element(UrlSetSerialiser.SitemapNamespace + UrlSetSerialiser.UrlSetElementName)
                             .Elements(UrlSetSerialiser.SitemapNamespace + UrlSetSerialiser.UrlElementName)
                             .First()
                             .Element(UrlSetSerialiser.SitemapNamespace + UrlSetSerialiser.UrlLocationElemenName)
                             .Value;
                Assert.AreEqual("/en/sitecore/content/Home.aspx", url);
            }
        }