From e29c25090e26c8cca52232d580528840d1161b73 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Fri, 8 Nov 2019 14:54:15 -0500 Subject: Ensure upgrade action properties are secure. --- .../WixToolsetTest.CoreIntegration/MsiFixture.cs | 21 ++++++++++++++++----- .../TestData/ManualUpgrade/Package.wxs | 1 + 2 files changed, 17 insertions(+), 5 deletions(-) (limited to 'src/test/WixToolsetTest.CoreIntegration') diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs index 21b6e9ce..4d1e35f9 100644 --- a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs @@ -372,16 +372,27 @@ namespace WixToolsetTest.CoreIntegration Assert.Equal(0, result); + var pdbPath = Path.Combine(intermediateFolder, @"bin\test.wixpdb"); Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.msi"))); - Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.wixpdb"))); + Assert.True(File.Exists(pdbPath)); Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\MsiPackage\test.txt"))); - var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); + var intermediate = Intermediate.Load(pdbPath); var section = intermediate.Sections.Single(); - var fileTuple = section.Tuples.OfType().Single(); - Assert.Equal(Path.Combine(folder, @"data\test.txt"), fileTuple[FileTupleFields.Source].AsPath().Path); - Assert.Equal(@"test.txt", fileTuple[FileTupleFields.Source].PreviousValue.AsPath().Path); + var upgradeTuple = section.Tuples.OfType().Single(); + Assert.False(upgradeTuple.ExcludeLanguages); + Assert.True(upgradeTuple.IgnoreRemoveFailures); + Assert.False(upgradeTuple.VersionMaxInclusive); + Assert.True(upgradeTuple.VersionMinInclusive); + Assert.Equal("13.0.0", upgradeTuple.VersionMax); + Assert.Equal("12.0.0", upgradeTuple.VersionMin); + Assert.False(upgradeTuple.OnlyDetect); + Assert.Equal("BLAHBLAHBLAH", upgradeTuple.ActionProperty); + + var pdb = WindowsInstallerData.Load(pdbPath, suppressVersionCheck: false); + var secureProperties = pdb.Tables["Property"].Rows.Where(row => row.GetKey() == "SecureCustomProperties").Single(); + Assert.Contains("BLAHBLAHBLAH", secureProperties.FieldAsString(1)); } } diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs index d674eb59..38125b57 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs @@ -6,6 +6,7 @@ + -- cgit v1.2.3-55-g6feb