50 lines
1.4 KiB
C#
50 lines
1.4 KiB
C#
using Knoks.Api;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.AspNetCore.TestHost;
|
|
using System;
|
|
using System.IO;
|
|
using System.Net.Http;
|
|
|
|
namespace Knoks.Test.Integrations.Api.Tools
|
|
{
|
|
public static class ApiTestServer
|
|
{
|
|
public const string ApiIndetifier = "138659EBEBBF408AA1282D46EBDFBDC7";
|
|
public const string BaseAddress = "http://localhost:52281/v1/";
|
|
|
|
public static HttpClient CreateClient()
|
|
{
|
|
var httpClient = TestServer.CreateClient();
|
|
if (!string.IsNullOrEmpty(BaseAddress))
|
|
httpClient.BaseAddress = new Uri(BaseAddress);
|
|
|
|
return httpClient;
|
|
}
|
|
|
|
private static object obj = new object();
|
|
private static TestServer _testServer;
|
|
public static TestServer TestServer
|
|
{
|
|
get
|
|
{
|
|
if (_testServer == null)
|
|
{
|
|
lock (obj)
|
|
{
|
|
if (_testServer == null)
|
|
{
|
|
var builder = new WebHostBuilder()
|
|
.UseContentRoot(Directory.GetCurrentDirectory())
|
|
.UseStartup(typeof(Startup));
|
|
|
|
_testServer = new TestServer(builder);
|
|
}
|
|
}
|
|
}
|
|
|
|
return _testServer;
|
|
}
|
|
}
|
|
}
|
|
}
|