dotnet-installer/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/PostInstallTests.cs
Eric Erhardt d9adc9214a Running Windows installer tests on Docker.
Cleaning up the Installer tests
- rename project to conform to the rest of the tests
- convert to .xproj
- clean up unused usings
2016-02-19 16:45:37 -06:00

56 lines
1.6 KiB
C#

using Microsoft.Win32;
using Xunit;
namespace Dotnet.Cli.Msi.Tests
{
public class PostInstallTests : IClassFixture<InstallFixture>
{
InstallFixture _fixture;
MsiManager _msiMgr;
public PostInstallTests(InstallFixture fixture)
{
_fixture = fixture;
_msiMgr = fixture.MsiManager;
}
[Fact]
public void DotnetOnPathTest()
{
Assert.True(_msiMgr.IsInstalled);
Assert.True(Utils.ExistsOnPath("dotnet.exe"), "After installation dotnet tools must be on path");
}
[Fact]
public void Dotnetx64RegKeysTest()
{
var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
CheckRegKeys(hklm);
}
[Fact]
public void Dotnetx86RegKeysTest()
{
var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
CheckRegKeys(hklm);
}
private void CheckRegKeys(RegistryKey rootKey)
{
var regKey = rootKey.OpenSubKey(@"SOFTWARE\dotnet\Setup", false);
Assert.NotNull(regKey);
Assert.Equal(1, regKey.GetValue("Install"));
Assert.Equal(_fixture.InstallLocation, regKey.GetValue("InstallDir"));
Assert.NotNull(regKey.GetValue("Version"));
}
[Fact]
public void UpgradeCodeTest()
{
// magic number found in https://github.com/dotnet/cli/blob/master/packaging/windows/variables.wxi
Assert.Equal("{7D73E4F7-71E2-4236-8CF5-1C499BA3FF50}", _msiMgr.UpgradeCode);
}
}
}