public async Task ListApplications() { EnsureWindowsAndX64(); using var iisFixture = await StartIis(IisAppType.AspNetCoreInProcess); using var console = ConsoleHelper.Redirect(); var result = await CheckIisCommand.ExecuteAsync( new CheckIisSettings { SiteName = "sample/dummy" }, iisFixture.IisExpress.ConfigFile, iisFixture.IisExpress.Process.Id, MockRegistryService()); result.Should().Be(1); console.Output.Should().Contain(Resources.CouldNotFindApplication("sample", "/dummy", new[] { "/", "/mixed" })); }
public async Task NoGac() { EnsureWindowsAndX64(); using var iisFixture = await StartIis(IisAppType.AspNetCoreInProcess); using var console = ConsoleHelper.Redirect(); var result = await CheckIisCommand.ExecuteAsync( new CheckIisSettings { SiteName = "sample" }, iisFixture.IisExpress.ConfigFile, iisFixture.IisExpress.Process.Id, MockRegistryService()); result.Should().Be(1); console.Output.Should().Contain(Resources.MissingGac); }
public async Task WorkingApp(bool mixedRuntimes) { EnsureWindowsAndX64(); var siteName = mixedRuntimes ? "sample/mixed" : "sample"; var buildPs1 = Path.Combine(EnvironmentTools.GetSolutionDirectory(), "tracer", "build.ps1"); try { // GacFixture is not compatible with .NET Core, use the Nuke target instead Process.Start("powershell", $"{buildPs1} GacAdd --framework net461").WaitForExit(); using var iisFixture = await StartIis(IisAppType.AspNetCoreInProcess); using var console = ConsoleHelper.Redirect(); var result = await CheckIisCommand.ExecuteAsync( new CheckIisSettings { SiteName = siteName }, iisFixture.IisExpress.ConfigFile, iisFixture.IisExpress.Process.Id, MockRegistryService()); result.Should().Be(0); if (mixedRuntimes) { console.Output.Should().Contain(Resources.IisMixedRuntimes); } console.Output.Should().Contain(Resources.IisNoIssue); } finally { Process.Start("powershell", $"{buildPs1} GacRemove --framework net461").WaitForExit(); } }