yavsc/test/Mandatory/ServerSideFixture.cs

113 lines
2.5 KiB
C#

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;
6 years ago
using Yavsc;
6 years ago
using Xunit;
6 years ago
namespace test
{
6 years ago
[Trait("regres", "no")]
public class ServerSideFixture : IDisposable {
6 years ago
SiteSettings _siteSetup;
ILogger _logger;
IApplication _app;
EMailer _mailer;
ILoggerFactory _loggerFactory;
IEmailSender _mailSender;
public static string ApiKey => "53f4d5da-93a9-4584-82f9-b8fdf243b002" ;
6 years ago
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;
}
}
//
public ServerSideFixture()
{
6 years ago
InitTestHost();
6 years ago
Logger = _loggerFactory.CreateLogger<ServerSideFixture> ();
Logger.LogInformation("ServerSideFixture created.");
}
6 years ago
6 years ago
[Fact]
void InitTestHost()
{
var host = new WebHostBuilder();
var hostengnine = host
.UseEnvironment("Development")
.UseServer("test")
6 years ago
.UseStartup<test.Startup>()
.Build();
6 years ago
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()
{
6 years ago
Logger.LogInformation("Disposing");
}
}
6 years ago
}