summaryrefslogtreecommitdiff
path: root/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-09-15 12:17:07 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-09-15 14:14:04 -0500
commit95e8b1be902cce3b5a394066a62e0c32d0688261 (patch)
tree955b165715e275b70033cf7cd4c956d71d365d21 /src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs
parentca3bf7968865be1cb80e9d63e7cc177f92469e2f (diff)
downloadwix-95e8b1be902cce3b5a394066a62e0c32d0688261.tar.gz
wix-95e8b1be902cce3b5a394066a62e0c32d0688261.tar.bz2
wix-95e8b1be902cce3b5a394066a62e0c32d0688261.zip
Add more burn E2E tests.
Fix bug where first splash screen wasn't closed. Fix bug where billboard only started the first time. Fix bug where the restart status was lost when the exit code was an error. Fix bug where the hash byte array length was compared to the hash string length (string is twice as long). Fix bug where Burn didn't give update hash if the first byte was 0.
Diffstat (limited to 'src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs')
-rw-r--r--src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs
index df666833..f7ec8647 100644
--- a/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs
+++ b/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs
@@ -242,5 +242,41 @@ namespace WixToolsetTest.BurnE2E
242 packageBv1.VerifyInstalled(false); 242 packageBv1.VerifyInstalled(false);
243 packageBv2.VerifyInstalled(false); 243 packageBv2.VerifyInstalled(false);
244 } 244 }
245
246 // Installs bundle Bv1.0 then attempts an update to bundle Bv2.0 during modify (server exists, v2.0 feed with wrong hash).
247 [RuntimeFact]
248 public void CanBlockWrongUpdateBundleFromDownloadInsteadOfModify()
249 {
250 var packageBv1 = this.CreatePackageInstaller("PackageBv1");
251 var packageBv2 = this.CreatePackageInstaller("PackageBv2");
252 var bundleBv1 = this.CreateBundleInstaller("BundleBv1");
253 var bundleBv2 = this.CreateBundleInstaller("BundleBv2");
254 var webServer = this.CreateWebServer();
255
256 webServer.AddFiles(new Dictionary<string, string>
257 {
258 { "/BundleB/feed", Path.Combine(this.TestContext.TestDataFolder, "FeedBv2.0_wronghash.xml") },
259 { "/BundleB/2.0/BundleB.exe", bundleBv2.Bundle },
260 });
261 webServer.Start();
262
263 packageBv1.VerifyInstalled(false);
264 packageBv2.VerifyInstalled(false);
265
266 bundleBv1.Install();
267 bundleBv1.VerifyRegisteredAndInPackageCache();
268
269 packageBv1.VerifyInstalled(true);
270 packageBv2.VerifyInstalled(false);
271
272 // Run the v1 bundle requesting an update bundle.
273 bundleBv1.Modify(unchecked((int)0x80091007), arguments: "-checkupdate");
274
275 bundleBv1.VerifyRegisteredAndInPackageCache();
276 bundleBv2.VerifyUnregisteredAndRemovedFromPackageCache();
277
278 packageBv1.VerifyInstalled(true);
279 packageBv2.VerifyInstalled(false);
280 }
245 } 281 }
246} 282}