private void VerifyPlatformManifestsAreEqual(InstallManifestPlatform expected, InstallManifestPlatform actual) { actual.InstallActions.Count.ShouldEqual(expected.InstallActions.Count, $"The number of platforms ({actual.InstallActions.Count}) do not match the expected number of platforms ({expected.InstallActions.Count})."); for (int i = 0; i < actual.InstallActions.Count; i++) { actual.InstallActions[i].Version.ShouldEqual(expected.InstallActions[i].Version); actual.InstallActions[i].Args.ShouldEqual(expected.InstallActions[i].Args); actual.InstallActions[i].Name.ShouldEqual(expected.InstallActions[i].Name); actual.InstallActions[i].InstallerRelativePath.ShouldEqual(expected.InstallActions[i].InstallerRelativePath); } }
public void CanReadExpectedJsonString() { string installManifestJsonString = @" { ""Version"" : ""1"", ""PlatformInstallManifests"" : { ""Windows"": { ""InstallActions"": [ { ""Name"" : ""Git"", ""Version"" : ""2.19.0.1.34"", ""InstallerRelativePath"" : ""Installers\\Windows\\G4W\\Git-2.19.0.gvfs.1.34.gc7fb556-64-bit.exe"", ""Args"" : ""/VERYSILENT /CLOSEAPPLICATIONS"" }, { ""Name"" : ""PostGitInstall script"", ""InstallerRelativePath"" : ""Installers\\Windows\\GSD\\postinstall.ps1"" }, ] } } } "; InstallManifest installManifest = InstallManifest.FromJsonString(installManifestJsonString); installManifest.ShouldNotBeNull(); InstallManifestPlatform platformInstallManifest = installManifest.PlatformInstallManifests[InstallManifest.WindowsPlatformKey]; platformInstallManifest.ShouldNotBeNull(); platformInstallManifest.InstallActions.Count.ShouldEqual(2); this.VerifyInstallActionInfo( platformInstallManifest.InstallActions[0], "Git", "2.19.0.1.34", "/VERYSILENT /CLOSEAPPLICATIONS", "Installers\\Windows\\G4W\\Git-2.19.0.gvfs.1.34.gc7fb556-64-bit.exe"); this.VerifyInstallActionInfo( platformInstallManifest.InstallActions[1], "PostGitInstall script", null, null, "Installers\\Windows\\GSD\\postinstall.ps1"); }