コード例 #1
0
        public void TestEditInherited()
        {
            SetUp();

            const string expected = @"expected_add.site.config";
            var          site     = Path.Combine("Website1", "web.config");
            var          document = XDocument.Load(site);
            var          server   = document.Root?.XPathSelectElement("/configuration/system.webServer");

            server?.Add(
                new XElement("tracing",
                             new XElement("traceFailedRequests",
                                          new XElement("remove",
                                                       new XAttribute("path", "*.asp")),
                                          new XElement("add",
                                                       new XAttribute("path", "*.asp"),
                                                       new XElement("traceAreas",
                                                                    new XElement("add",
                                                                                 new XAttribute("provider", "ASP"),
                                                                                 new XAttribute("verbosity", "Verbose")),
                                                                    new XElement("add",
                                                                                 new XAttribute("provider", "ASPNET"),
                                                                                 new XAttribute("areas", "Infrastructure,Module,Page,AppServices"),
                                                                                 new XAttribute("verbosity", "Verbose")),
                                                                    new XElement("add",
                                                                                 new XAttribute("provider", "ISAPI Extension"),
                                                                                 new XAttribute("verbosity", "Verbose")),
                                                                    new XElement("add",
                                                                                 new XAttribute("provider", "WWW Server"),
                                                                                 new XAttribute("areas", "Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket"),
                                                                                 new XAttribute("verbosity", "Verbose"))),
                                                       new XElement("failureDefinitions",
                                                                    new XAttribute("statusCodes", "100-999"))
                                                       ))));
            document.Save(expected);

            _feature.SelectedItem = _feature.Items[0];
            Assert.Equal("*.asp", _feature.SelectedItem.Path);
            var item = _feature.SelectedItem;

            item.Codes = "100-999";
            _feature.EditItem(item);
            Assert.NotNull(_feature.SelectedItem);
            Assert.Equal("100-999", _feature.SelectedItem.Codes);

            const string Original     = @"original.config";
            const string OriginalMono = @"original.mono.config";

            XmlAssert.Equal(Helper.IsRunningOnMono() ? OriginalMono : Original, Current);
            XmlAssert.Equal(expected, site);
        }
コード例 #2
0
        public void TestEdit()
        {
            SetUp();
            const string Expected   = @"expected_edit.config";
            var          document   = XDocument.Load(Current);
            var          node       = document.Root?.XPathSelectElement("/configuration/system.webServer/tracing/traceFailedRequests");
            var          element    = node?.FirstNode as XElement;
            XElement     definition = element?.FirstNode?.NextNode as XElement;

            definition?.SetAttributeValue("statusCodes", "100-999");
            definition.Remove();
            element.AddFirst(definition);
            document.Save(Expected);

            _feature.SelectedItem = _feature.Items[0];
            var item = _feature.SelectedItem;

            item.Codes = "100-999";
            _feature.EditItem(item);
            Assert.NotNull(_feature.SelectedItem);
            Assert.Equal("100-999", _feature.SelectedItem.Codes);
            Assert.Equal(2, _feature.Items.Count);
            XmlAssert.Equal(Expected, Current);
        }