summaryrefslogtreecommitdiff
path: root/src/test/msi/WixToolsetTest.MsiE2E
diff options
context:
space:
mode:
authorBevan Weiss <bevan.weiss@gmail.com>2024-08-02 21:45:46 +1000
committerBob Arnson <github@bobs.org>2024-09-02 23:45:08 -0400
commit97e2fb014127a390118dd9cbb6b9e0475123a2c9 (patch)
tree70891e4ff79f388dd6ace1d3ff1fff38a8982b43 /src/test/msi/WixToolsetTest.MsiE2E
parent1011c5609bc12ded5188dc76484fc5075d24617c (diff)
downloadwix-97e2fb014127a390118dd9cbb6b9e0475123a2c9.tar.gz
wix-97e2fb014127a390118dd9cbb6b9e0475123a2c9.tar.bz2
wix-97e2fb014127a390118dd9cbb6b9e0475123a2c9.zip
A basic install / uninstall test for RemoveFoldersEx
Contains no files etc to verify that Remove action can still occur without other elements bringing in the RemoveFiles Standard Action Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
Diffstat (limited to 'src/test/msi/WixToolsetTest.MsiE2E')
-rw-r--r--src/test/msi/WixToolsetTest.MsiE2E/RemoveFolderExTests.cs82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/test/msi/WixToolsetTest.MsiE2E/RemoveFolderExTests.cs b/src/test/msi/WixToolsetTest.MsiE2E/RemoveFolderExTests.cs
new file mode 100644
index 00000000..c6780a1b
--- /dev/null
+++ b/src/test/msi/WixToolsetTest.MsiE2E/RemoveFolderExTests.cs
@@ -0,0 +1,82 @@
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.MsiE2E;
4
5using System;
6using System.IO;
7using WixTestTools;
8using Xunit;
9using Xunit.Abstractions;
10
11public class RemoveFolderExTests : MsiE2ETests
12{
13 public RemoveFolderExTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
14 {
15 }
16
17 [Fact]
18 public void CanRemoveFolderExOnInstallAndUninstall()
19 {
20 var removeFolderExTestDir1 = "C:\\RemoveFolderExTest";
21 var removeFolderExTestFile1 = Path.Combine(removeFolderExTestDir1, "testfile.txt");
22 var removeFolderExTestDir2 = Path.Combine(removeFolderExTestDir1, "TestFolder1");
23 var removeFolderExTestFile2 = Path.Combine(removeFolderExTestDir1, "TestFolder1", "testfile");
24
25 try
26 {
27 var product = this.CreatePackageInstaller("RemoveFolderExTest");
28
29 Directory.CreateDirectory(removeFolderExTestDir1);
30 File.Create(removeFolderExTestFile1).Dispose();
31 Directory.CreateDirectory(removeFolderExTestDir2);
32 File.Create(removeFolderExTestFile2).Dispose();
33
34 if( !Directory.Exists(removeFolderExTestDir1)
35 || !File.Exists(removeFolderExTestFile1)
36 || !Directory.Exists(removeFolderExTestDir2)
37 || !File.Exists(removeFolderExTestFile2))
38 {
39 Assert.Fail("Failed to create initial folder and file structure before install test");
40 }
41
42 product.InstallProduct(MSIExec.MSIExecReturnCode.SUCCESS);
43
44 Assert.False(Directory.Exists(removeFolderExTestDir1), $"Failed to remove {removeFolderExTestDir1} on install");
45 Assert.False(File.Exists(removeFolderExTestFile1), $"Failed to remove {removeFolderExTestFile1} on install");
46 Assert.False(Directory.Exists(removeFolderExTestDir2), $"Failed to remove {removeFolderExTestDir2} on install");
47 Assert.False(File.Exists(removeFolderExTestFile1), $"Failed to remove {removeFolderExTestFile2} on install");
48
49
50 Directory.CreateDirectory(removeFolderExTestDir1);
51 File.Create(removeFolderExTestFile1).Dispose();
52 Directory.CreateDirectory(removeFolderExTestDir2);
53 File.Create(removeFolderExTestFile2).Dispose();
54
55 if (!Directory.Exists(removeFolderExTestDir1)
56 || !File.Exists(removeFolderExTestFile1)
57 || !Directory.Exists(removeFolderExTestDir2)
58 || !File.Exists(removeFolderExTestFile2))
59 {
60 Assert.Fail("Failed to create initial folder and file structure before uninstall test");
61 }
62
63 product.UninstallProduct(MSIExec.MSIExecReturnCode.SUCCESS);
64
65 Assert.False(Directory.Exists(removeFolderExTestDir1), $"Failed to remove {removeFolderExTestDir1} on uninstall");
66 Assert.False(File.Exists(removeFolderExTestFile1), $"Failed to remove {removeFolderExTestFile1} on uninstall");
67 Assert.False(Directory.Exists(removeFolderExTestDir2), $"Failed to remove {removeFolderExTestDir2} on uninstall");
68 Assert.False(File.Exists(removeFolderExTestFile2), $"Failed to remove {removeFolderExTestFile2} on uninstall");
69
70 }
71 finally
72 {
73 try
74 {
75 Directory.Delete(removeFolderExTestDir1, true);
76 }
77 catch
78 {
79 }
80 }
81 }
82}