refactoring

This commit is contained in:
2018-09-03 13:56:35 +02:00
parent 35e5e5b0cb
commit af6df05e9d
3 changed files with 79 additions and 21 deletions

View File

@ -13,10 +13,12 @@ namespace test
{ {
ServerSideFixture _serverFixture; ServerSideFixture _serverFixture;
ITestOutputHelper output; ITestOutputHelper output;
ILogger _logger;
public EMaillingTests(ServerSideFixture serverFixture, ITestOutputHelper output) public EMaillingTests(ServerSideFixture serverFixture, ITestOutputHelper output)
{ {
this.output = output; this.output = output;
_serverFixture = serverFixture; _serverFixture = serverFixture;
_logger = serverFixture.Logger;
} }
[Fact] [Fact]
@ -26,14 +28,14 @@ namespace test
AssertAsync.CompletesIn(2, () => AssertAsync.CompletesIn(2, () =>
{ {
output.WriteLine("SendEMailSynchrone ..."); output.WriteLine("SendEMailSynchrone ...");
EmailSentViewModel mailSentInfo = _serverFixture._mailSender.SendEmailAsync EmailSentViewModel mailSentInfo = _serverFixture.MailSender.SendEmailAsync
(_serverFixture._siteSetup.Owner.Name, _serverFixture._siteSetup.Owner.EMail, $"monthly email", "test boby monthly email").Result; (_serverFixture.SiteSetup.Owner.Name, _serverFixture.SiteSetup.Owner.EMail, $"monthly email", "test boby monthly email").Result;
if (mailSentInfo==null) if (mailSentInfo==null)
_serverFixture._logger.LogError("No info on sending"); _logger.LogError("No info on sending");
else if (!mailSentInfo.Sent) else if (!mailSentInfo.Sent)
_serverFixture._logger.LogError($"{mailSentInfo.ErrorMessage}"); _logger.LogError($"{mailSentInfo.ErrorMessage}");
else else
_serverFixture._logger.LogInformation($"mailId:{mailSentInfo.MessageId} \nto:{_serverFixture._siteSetup.Owner.Name}"); _logger.LogInformation($"mailId:{mailSentInfo.MessageId} \nto:{_serverFixture.SiteSetup.Owner.Name}");
Assert.NotNull(mailSentInfo); Assert.NotNull(mailSentInfo);
output.WriteLine($">>done with {mailSentInfo.EMail} {mailSentInfo.Sent} {mailSentInfo.MessageId} {mailSentInfo.ErrorMessage}"); output.WriteLine($">>done with {mailSentInfo.EMail} {mailSentInfo.Sent} {mailSentInfo.MessageId} {mailSentInfo.ErrorMessage}");
}); });

View File

@ -12,19 +12,75 @@ namespace test
{ {
[Trait("regres", "no")] [Trait("regres", "no")]
public class ServerSideFixture : IDisposable { public class ServerSideFixture : IDisposable {
public SiteSettings _siteSetup; SiteSettings _siteSetup;
public ILogger _logger; ILogger _logger;
public IApplication _app; IApplication _app;
public EMailer _mailer; EMailer _mailer;
public ILoggerFactory _loggerFactory; ILoggerFactory _loggerFactory;
public IEmailSender _mailSender; IEmailSender _mailSender;
public static string ApiKey => "53f4d5da-93a9-4584-82f9-b8fdf243b002" ; public static string ApiKey => "53f4d5da-93a9-4584-82f9-b8fdf243b002" ;
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() public ServerSideFixture()
{ {
InitTestHost(); InitTestHost();
_logger = _loggerFactory.CreateLogger<ServerSideFixture> (); Logger = _loggerFactory.CreateLogger<ServerSideFixture> ();
_logger.LogInformation("ServerSideFixture"); Logger.LogInformation("ServerSideFixture created.");
} }
[Fact] [Fact]
@ -38,17 +94,17 @@ namespace test
.UseStartup<test.Startup>() .UseStartup<test.Startup>()
.Build(); .Build();
_app = hostengnine.Start(); App = hostengnine.Start();
_mailer = _app.Services.GetService(typeof(EMailer)) as EMailer; _mailer = App.Services.GetService(typeof(EMailer)) as EMailer;
_loggerFactory = _app.Services.GetService(typeof(ILoggerFactory)) as ILoggerFactory; _loggerFactory = App.Services.GetService(typeof(ILoggerFactory)) as ILoggerFactory;
var siteSetup = _app.Services.GetService(typeof(IOptions<SiteSettings>)) as IOptions<SiteSettings>; var siteSetup = App.Services.GetService(typeof(IOptions<SiteSettings>)) as IOptions<SiteSettings>;
_siteSetup = siteSetup.Value; SiteSetup = siteSetup.Value;
_mailSender = _app.Services.GetService(typeof(IEmailSender)) as IEmailSender; MailSender = App.Services.GetService(typeof(IEmailSender)) as IEmailSender;
} }
public void Dispose() public void Dispose()
{ {
_logger.LogInformation("Disposing"); Logger.LogInformation("Disposing");
} }
} }
} }

View File

@ -18,7 +18,7 @@ namespace test
{ {
public class Startup public class Startup
{ {
public string ConnectionString public static string ConnectionString
{ {
get ; set; get ; set;
} }