main
cs 92 lines 3.15 KB
Raw
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
3 namespace WixToolsetTest.BurnE2E
4 {
5 using WixTestTools;
6 using Xunit.Abstractions;
7
8 public class WixStdBaTests : BurnE2ETests
9 {
10 public WixStdBaTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { }
11
12 [RuntimeFact]
13 public void SucceedsWithMultipleConditions()
14 {
15 var packageA = this.CreatePackageInstaller("PackageA");
16 var bundle = this.CreateBundleInstaller("BalCondition");
17
18 packageA.VerifyInstalled(false);
19
20 bundle.Install();
21 bundle.VerifyRegisteredAndInPackageCache();
22 packageA.VerifyInstalled(true);
23
24 bundle.Uninstall();
25 bundle.VerifyUnregisteredAndRemovedFromPackageCache();
26 packageA.VerifyInstalled(false);
27 }
28
29 [RuntimeFact]
30 public void ExitsWithErrorWhenDowngradingWithoutSuppression()
31 {
32 var packageA = this.CreatePackageInstaller("PackageA");
33 var bundle1v10 = this.CreateBundleInstaller("WixStdBaTest1_v10");
34 var bundle1v11 = this.CreateBundleInstaller("WixStdBaTest1_v11");
35
36 packageA.VerifyInstalled(false);
37
38 bundle1v11.Install();
39 bundle1v11.VerifyRegisteredAndInPackageCache();
40
41 packageA.VerifyInstalled(true);
42
43 bundle1v10.Install((int)MSIExec.MSIExecReturnCode.ERROR_PRODUCT_VERSION);
44 bundle1v10.VerifyUnregisteredAndRemovedFromPackageCache();
45 bundle1v11.VerifyRegisteredAndInPackageCache();
46
47 packageA.VerifyInstalled(true);
48 }
49
50 [RuntimeFact]
51 public void ExitsWithoutErrorWhenDowngradingWithSuppression()
52 {
53 var packageA = this.CreatePackageInstaller("PackageA");
54 var bundle1v11 = this.CreateBundleInstaller("WixStdBaTest1_v11");
55 var bundle1v12 = this.CreateBundleInstaller("WixStdBaTest1_v12");
56
57 packageA.VerifyInstalled(false);
58
59 bundle1v12.Install();
60 bundle1v12.VerifyRegisteredAndInPackageCache();
61
62 packageA.VerifyInstalled(true);
63
64 bundle1v11.Install();
65 bundle1v11.VerifyUnregisteredAndRemovedFromPackageCache();
66 bundle1v12.VerifyRegisteredAndInPackageCache();
67
68 packageA.VerifyInstalled(true);
69 }
70
71 [RuntimeFact]
72 public void SucceedsWhenFeedUrlIsBad()
73 {
74 // This test never fails because update checks are skipped in -quiet.
75 // See https://github.com/wixtoolset/issues/issues/7090.
76 var packageA = this.CreatePackageInstaller("PackageA");
77 var bundle = this.CreateBundleInstaller("WixStdBaTest_BadUpdateFeed");
78
79 packageA.VerifyInstalled(false);
80
81 bundle.Install();
82 bundle.VerifyRegisteredAndInPackageCache();
83
84 packageA.VerifyInstalled(true);
85
86 bundle.Uninstall();
87 bundle.VerifyUnregisteredAndRemovedFromPackageCache();
88
89 packageA.VerifyInstalled(false);
90 }
91 }
92 }