yavsc/test/Mandatory/ServerSideFixture.cs

112 lines
2.5 KiB
C#
Raw Normal View History

using System;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Hosting.Internal;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.OptionsModel;
using Yavsc.Lib;
using Yavsc.Services;
2018-07-20 02:27:53 +02:00
using Yavsc;
2018-08-01 06:12:42 +02:00
using Xunit;
2018-07-20 02:27:53 +02:00
namespace test
{
2018-08-01 06:12:42 +02:00
[Trait("regres", "no")]
public class ServerSideFixture : IDisposable {
2018-09-03 13:56:35 +02:00
SiteSettings _siteSetup;
ILogger _logger;
IApplication _app;
EMailer _mailer;
ILoggerFactory _loggerFactory;
IEmailSender _mailSender;
2018-08-03 02:59:37 +02:00
public static string ApiKey => "53f4d5da-93a9-4584-82f9-b8fdf243b002" ;
2018-09-03 13:56:35 +02:00
public SiteSettings SiteSetup
{
get
{
return _siteSetup;
}
set
{
_siteSetup = value;
}
}
public IEmailSender MailSender
{
get
{
return _mailSender;
}
set
{
_mailSender = value;
}
}
public IApplication App
{
get
{
return _app;
}
set
{
_app = value;
}
}
public ILogger Logger
{
get
{
return _logger;
}
set
{
_logger = value;
}
}
2018-08-03 02:59:37 +02:00
//
public ServerSideFixture()
{
2018-08-01 06:12:42 +02:00
InitTestHost();
2018-09-03 13:56:35 +02:00
Logger = _loggerFactory.CreateLogger<ServerSideFixture> ();
Logger.LogInformation("ServerSideFixture created.");
}
2018-07-20 02:27:53 +02:00
2018-08-01 06:12:42 +02:00
[Fact]
void InitTestHost()
{
var host = new WebHostBuilder();
var hostengnine = host
.UseEnvironment("Development")
.UseServer("test")
2018-07-20 02:27:53 +02:00
.UseStartup<test.Startup>()
.Build();
2018-09-03 13:56:35 +02:00
App = hostengnine.Start();
_mailer = App.Services.GetService(typeof(EMailer)) as EMailer;
_loggerFactory = App.Services.GetService(typeof(ILoggerFactory)) as ILoggerFactory;
var siteSetup = App.Services.GetService(typeof(IOptions<SiteSettings>)) as IOptions<SiteSettings>;
SiteSetup = siteSetup.Value;
MailSender = App.Services.GetService(typeof(IEmailSender)) as IEmailSender;
}
public void Dispose()
{
2018-09-03 13:56:35 +02:00
Logger.LogInformation("Disposing");
}
}
2018-07-20 02:27:53 +02:00
}