public async Task SendMailMessageAsynchronously() { var mailProvider = MailProviderFactory.GetProvider(); await mailProvider.SendAsync(new MailMessage("*****@*****.**", "*****@*****.**") { Subject = "Some subject", Body = "Some message" }); }
public void SendMailMessage() { var mailProvider = MailProviderFactory.GetProvider(); mailProvider.Send(new MailMessage("*****@*****.**", "*****@*****.**") { Subject = "Some subject", Body = "Some message" }); }
/// <summary> /// Asynschronously sends an email to a user. /// </summary> /// <param name="message">The message to send.</param> /// <returns>The task representing the asynchronous operation.</returns> public Task SendAsync(IdentityMessage message) { var mailProvider = MailProviderFactory.GetProvider(); var mail = new MailMessage(); mail.To.Add(message.Destination); mail.Subject = message.Subject; mail.Body = message.Body; return(mailProvider.SendAsync(mail)); }
public void ShouldThrowWhenInvalidNumberIsGiven() { // Arrange var mapper = Substitute.For <IMapper>(); var configuration = Substitute.For <IConfigurationLoader>(); configuration.GetConfiguration().Returns(new Dictionary <string, string>()); var factory = new MailProviderFactory(); // Act / Assert Should.Throw <ArgumentOutOfRangeException>(() => factory.GetProvider(configuration, mapper, (Provider)100)); }
public void ShouldThrowWhenMailProviderKeyDoesNotExist() { // Arrange var mapper = Substitute.For <IMapper>(); var configuration = Substitute.For <IConfigurationLoader>(); configuration.GetConfiguration().Returns(new Dictionary <string, string>()); var factory = new MailProviderFactory(); // Act / Assert Should.Throw <InvalidOperationException>(() => factory.GetProvider(configuration, mapper)); }
public void ShouldThrowWhenUnknownProviderIsGiven() { // Arrange var mapper = Substitute.For <IMapper>(); var configuration = Substitute.For <IConfigurationLoader>(); configuration.GetConfiguration().Returns(new Dictionary <string, string>() { { "MailProvider", "NotARealProvider" } }); var factory = new MailProviderFactory(); // Act / Assert Should.Throw <ArgumentException>(() => factory.GetProvider(configuration, mapper)); }
public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestMessage req, TraceWriter log) { // Composition root. IMailProviderFactory factory = new MailProviderFactory(); IConfigurationLoader configuration = new ConfigurationLoader(); IMapper mapper = null; var config = configuration.GetConfiguration(); if (!config.ContainsKey("MailProvider")) { return(req.CreateErrorResponse(HttpStatusCode.InternalServerError, "Mail Provider not configured.")); } log.Info($"Using \"{configuration.GetConfiguration()["MailProvider"]}\" provider."); var provider = factory.GetProvider(configuration, mapper); return(req.CreateResponse(HttpStatusCode.OK)); }
public void ShouldReturnCorrectProvider() { // Arrange var mapper = Substitute.For <IMapper>(); var configuration = Substitute.For <IConfigurationLoader>(); configuration.GetConfiguration().Returns(new Dictionary <string, string>() { { "MailProvider", "SendGrid" } }); var factory = new MailProviderFactory(); // Act var provider = factory.GetProvider(configuration, mapper); // Assert provider.ShouldNotBeNull(); provider.ShouldBeOfType <SendGridProvider>(); }
public void GetMailProviderTest() { var mailProvider = MailProviderFactory.GetProvider(); Assert.IsNotNull(mailProvider, "Mail provider is null."); }