mirror of
https://github.com/bitwarden/server.git
synced 2026-01-31 14:13:18 +08:00
46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
|
|
using Microsoft.AspNetCore.Hosting;
|
|||
|
|
using Microsoft.AspNetCore.Mvc.Testing;
|
|||
|
|
using Microsoft.AspNetCore.TestHost;
|
|||
|
|
|
|||
|
|
namespace Bit.Server.IntegrationTest;
|
|||
|
|
|
|||
|
|
public class Server : WebApplicationFactory<Program>
|
|||
|
|
{
|
|||
|
|
public string? ContentRoot { get; set; }
|
|||
|
|
public string? WebRoot { get; set; }
|
|||
|
|
public bool ServeUnknown { get; set; }
|
|||
|
|
public bool? WebVault { get; set; }
|
|||
|
|
public string? AppIdLocation { get; set; }
|
|||
|
|
|
|||
|
|
protected override IWebHostBuilder? CreateWebHostBuilder()
|
|||
|
|
{
|
|||
|
|
var args = new List<string>
|
|||
|
|
{
|
|||
|
|
"/contentRoot",
|
|||
|
|
ContentRoot ?? "",
|
|||
|
|
"/webRoot",
|
|||
|
|
WebRoot ?? "",
|
|||
|
|
"/serveUnknown",
|
|||
|
|
ServeUnknown.ToString().ToLowerInvariant(),
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
if (WebVault.HasValue)
|
|||
|
|
{
|
|||
|
|
args.Add("/webVault");
|
|||
|
|
args.Add(WebVault.Value.ToString().ToLowerInvariant());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (!string.IsNullOrEmpty(AppIdLocation))
|
|||
|
|
{
|
|||
|
|
args.Add("/appIdLocation");
|
|||
|
|
args.Add(AppIdLocation);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var builder = WebHostBuilderFactory.CreateFromTypesAssemblyEntryPoint<Program>([.. args])
|
|||
|
|
?? throw new InvalidProgramException("Could not create builder from assembly.");
|
|||
|
|
|
|||
|
|
builder.UseSetting("TEST_CONTENTROOT_SERVER", ContentRoot);
|
|||
|
|
return builder;
|
|||
|
|
}
|
|||
|
|
}
|