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); }
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); }