| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // Copyright (c) .NET Foundation. All rights reserved.
- // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
- using System.IO;
- using System.Threading;
- using System.Threading.Tasks;
- using Microsoft.AspNetCore.Server.IntegrationTesting;
- using Microsoft.AspNetCore.Testing;
- using Microsoft.AspNetCore.Testing.xunit;
- using Microsoft.Extensions.Logging.Testing;
- using Xunit;
- using Xunit.Abstractions;
- namespace Microsoft.AspNetCore.Hosting.FunctionalTests
- {
- public class WebHostBuilderTests : LoggedTest
- {
- public WebHostBuilderTests(ITestOutputHelper output) : base(output) { }
- public static TestMatrix TestVariants => TestMatrix.ForServers(ServerType.Kestrel)
- .WithTfms(Tfm.Net461, Tfm.NetCoreApp22);
- [ConditionalTheory]
- [MemberData(nameof(TestVariants))]
- public async Task InjectedStartup_DefaultApplicationNameIsEntryAssembly(TestVariant variant)
- {
- using (StartLog(out var loggerFactory))
- {
- var logger = loggerFactory.CreateLogger(nameof(InjectedStartup_DefaultApplicationNameIsEntryAssembly));
- var applicationPath = Path.Combine(TestPathUtilities.GetSolutionRootDirectory("Hosting"), "test", "TestAssets", "IStartupInjectionAssemblyName");
- var deploymentParameters = new DeploymentParameters(variant)
- {
- ApplicationPath = applicationPath,
- StatusMessagesEnabled = false
- };
- using (var deployer = new SelfHostDeployer(deploymentParameters, loggerFactory))
- {
- await deployer.DeployAsync();
- string output = string.Empty;
- var mre = new ManualResetEventSlim();
- deployer.HostProcess.OutputDataReceived += (sender, args) =>
- {
- if (!string.IsNullOrWhiteSpace(args.Data))
- {
- output += args.Data + '\n';
- mre.Set();
- }
- };
- mre.Wait(50000);
- output = output.Trim('\n');
- Assert.Equal($"IStartupInjectionAssemblyName", output);
- }
- }
- }
- }
- }
|