summaryrefslogtreecommitdiff
path: root/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs
diff options
context:
space:
mode:
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}