aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs180
1 files changed, 0 insertions, 180 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs b/src/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs
deleted file mode 100644
index 840b411e..00000000
--- a/src/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs
+++ /dev/null
@@ -1,180 +0,0 @@
1// 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.
2
3namespace WixToolsetTest.CoreIntegration
4{
5 using System.Collections.Generic;
6 using System.IO;
7 using System.Linq;
8 using System.Xml;
9 using WixBuildTools.TestSupport;
10 using WixToolset.Core.TestPackage;
11 using Xunit;
12
13 public class DependencyExtensionFixture
14 {
15 [Fact]
16 public void CanBuildBundleUsingExePackageWithProvides()
17 {
18 var folder = TestData.Get(@"TestData");
19
20 using (var fs = new DisposableFileSystem())
21 {
22 var baseFolder = fs.GetFolder();
23 var intermediateFolder = Path.Combine(baseFolder, "obj");
24 var binFolder = Path.Combine(baseFolder, "bin");
25 var bundlePath = Path.Combine(binFolder, "test.exe");
26 var baFolderPath = Path.Combine(baseFolder, "ba");
27 var extractFolderPath = Path.Combine(baseFolder, "extract");
28
29 var result = WixRunner.Execute(new[]
30 {
31 "build",
32 Path.Combine(folder, "Dependency", "ExePackageProvidesBundle.wxs"),
33 Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"),
34 "-bindpath", Path.Combine(folder, ".Data"),
35 "-bindpath", Path.Combine(folder, "SimpleBundle", "data"),
36 "-intermediateFolder", intermediateFolder,
37 "-o", bundlePath,
38 });
39
40 result.AssertSuccess();
41
42 Assert.True(File.Exists(bundlePath));
43
44 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
45 extractResult.AssertSuccess();
46
47 var provides = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Chain/burn:ExePackage/burn:Provides")
48 .Cast<XmlElement>()
49 .Select(e => e.GetTestXml())
50 .ToArray();
51 WixAssert.CompareLineByLine(new string[]
52 {
53 "<Provides Key='DependencyTests_ExeA,v1.0' Version='1.0.0.0' DisplayName='Windows Installer XML Toolset' />",
54 }, provides);
55 }
56 }
57
58 [Fact]
59 public void CanBuildBundleUsingMsiWithProvides()
60 {
61 var folder = TestData.Get(@"TestData");
62
63 using (var fs = new DisposableFileSystem())
64 {
65 var baseFolder = fs.GetFolder();
66 var intermediateFolder = Path.Combine(baseFolder, "obj");
67 var binFolder = Path.Combine(baseFolder, "bin");
68 var bundlePath = Path.Combine(binFolder, "test.exe");
69 var baFolderPath = Path.Combine(baseFolder, "ba");
70 var extractFolderPath = Path.Combine(baseFolder, "extract");
71
72 var result = WixRunner.Execute(new[]
73 {
74 "build",
75 Path.Combine(folder, "UsingProvides", "Package.wxs"),
76 Path.Combine(folder, "UsingProvides", "PackageComponents.wxs"),
77 "-loc", Path.Combine(folder, "UsingProvides", "Package.en-us.wxl"),
78 "-bindpath", Path.Combine(folder, "UsingProvides"),
79 "-intermediateFolder", intermediateFolder,
80 "-o", Path.Combine(binFolder, "UsingProvides.msi"),
81 });
82
83 result.AssertSuccess();
84
85 result = WixRunner.Execute(new[]
86 {
87 "build",
88 Path.Combine(folder, "Dependency", "UsingProvidesBundle.wxs"),
89 Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"),
90 "-bindpath", Path.Combine(folder, "SimpleBundle", "data"),
91 "-bindpath", binFolder,
92 "-intermediateFolder", intermediateFolder,
93 "-o", bundlePath,
94 });
95
96 result.AssertSuccess();
97
98 Assert.True(File.Exists(bundlePath));
99
100 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
101 extractResult.AssertSuccess();
102
103 var provides = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Chain/burn:MsiPackage/burn:Provides")
104 .Cast<XmlElement>()
105 .Select(e => e.GetTestXml())
106 .ToArray();
107 WixAssert.CompareLineByLine(new string[]
108 {
109 "<Provides Key='UsingProvides' Version='1.0.0.0' DisplayName='MsiPackage' Imported='yes' />",
110 "<Provides Key='{A81D50F9-B696-4F3D-ABE0-E64D61590E5F}' Version='1.0.0.0' DisplayName='MsiPackage' />",
111 }, provides);
112 }
113 }
114
115 [Fact]
116 public void CanBuildBundleWithCustomProviderKey()
117 {
118 var folder = TestData.Get(@"TestData");
119
120 using (var fs = new DisposableFileSystem())
121 {
122 var baseFolder = fs.GetFolder();
123 var intermediateFolder = Path.Combine(baseFolder, "obj");
124 var binFolder = Path.Combine(baseFolder, "bin");
125 var bundlePath = Path.Combine(binFolder, "test.exe");
126 var baFolderPath = Path.Combine(baseFolder, "ba");
127 var extractFolderPath = Path.Combine(baseFolder, "extract");
128
129 var result = WixRunner.Execute(new[]
130 {
131 "build",
132 Path.Combine(folder, "Dependency", "CustomProviderKeyBundle.wxs"),
133 Path.Combine(folder, "BundleWithPackageGroupRef", "MinimalPackageGroup.wxs"),
134 "-bindpath", Path.Combine(folder, "SimpleBundle", "data"),
135 "-intermediateFolder", intermediateFolder,
136 "-o", bundlePath,
137 });
138
139 result.AssertSuccess();
140
141 Assert.True(File.Exists(bundlePath));
142
143 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
144 extractResult.AssertSuccess();
145
146 var ignoreAttributesByElementName = new Dictionary<string, List<string>>
147 {
148 { "Registration", new List<string> { "Id" } },
149 };
150 var registration = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Registration")
151 .Cast<XmlElement>()
152 .Select(e => e.GetTestXml(ignoreAttributesByElementName))
153 .ToArray();
154 WixAssert.CompareLineByLine(new string[]
155 {
156 "<Registration Id='*' ExecutableName='test.exe' PerMachine='yes' Tag='' Version='1.0.0.0' ProviderKey='MyProviderKey,v1.0'><Arp Register='yes' DisplayName='BurnBundle' DisplayVersion='1.0.0.0' Publisher='Example Corporation' /></Registration>",
157 }, registration);
158 }
159 }
160
161 [Fact]
162 public void CanBuildPackageUsingProvides()
163 {
164 var folder = TestData.Get(@"TestData\UsingProvides");
165 var build = new Builder(folder, null, new[] { folder });
166
167 var results = build.BuildAndQuery(Build, "WixDependencyProvider");
168 Assert.Equal(new[]
169 {
170 "WixDependencyProvider:dep74OfIcniaqxA7EprRGBw4Oyy3r8\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tUsingProvides\t\t\t",
171 }, results);
172 }
173
174 private static void Build(string[] args)
175 {
176 var result = WixRunner.Execute(args)
177 .AssertSuccess();
178 }
179 }
180}