blob: 9b90cf46a267d9c03ac84018d56e2dd39283199e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
namespace WixToolsetTest.MsiE2E;
using System;
using System.IO;
using System.Xml.Linq;
using WixTestTools;
using Xunit;
using Xunit.Abstractions;
public class XmlConfigTests : MsiE2ETests
{
public XmlConfigTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
{
}
[RuntimeFact]
public void CanModifyXmlFileWithXmlConfig()
{
var product = this.CreatePackageInstaller("XmlConfig");
product.InstallProduct(MSIExec.MSIExecReturnCode.SUCCESS);
// Validate the expected changes in my.xml.
var myXmlPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "XmlConfig", "my.xml");
var content = File.ReadAllText(myXmlPath);
var xDoc = XDocument.Parse(content);
var xRoot = xDoc.Element("root");
var xChild1 = xRoot.Element("child1");
Assert.NotNull(xChild1);
var xGrandchild1 = xChild1.Element("grandchild1");
Assert.Null(xGrandchild1);
var xChild2 = xRoot.Element("child2");
Assert.NotNull(xChild2);
var xGrandchild3 = xChild2.Element("grandchild3");
Assert.NotNull(xGrandchild3);
Assert.True(xGrandchild3.HasAttributes);
var xAttribute1 = xGrandchild3.Attribute("TheAttribute1");
Assert.NotNull(xAttribute1);
Assert.Equal("AttributeValue1", xAttribute1.Value);
var xAttribute2 = xGrandchild3.Attribute("TheAttribute2");
Assert.NotNull(xAttribute2);
Assert.Equal("AttributeValue2", xAttribute2.Value);
product.UninstallProduct(MSIExec.MSIExecReturnCode.SUCCESS);
}
}
|