public void ReplaceLinkedImagesWithEmbeddedImages_replaces_cid_reference_with_correct_mime() { var embedder = new ImageEmbedder(); var resource = embedder.ReferenceImage("postal.png"); string body = "<img src=\"cid:" + resource.ContentId + @"""/>"; var view = AlternateView.CreateAlternateViewFromString(body); embedder.AddImagesToView(view); string replaced = EmailViewResultExecutor.ReplaceLinkedImagesWithEmbeddedImages(view, body); Assert.Contains("data:image/png;base64,", replaced); }
private HttpContext GetHttpContext(IEmailViewRender render, IEmailParser parser = null) { var options = Options.Create(new MvcViewOptions()); var viewExecutor = new EmailViewResultExecutor( NullLoggerFactory.Instance, new TestHttpResponseStreamWriterFactory(), render, parser); var services = new ServiceCollection(); services.AddSingleton <IActionResultExecutor <EmailViewResult> >(viewExecutor); var httpContext = new DefaultHttpContext(); var memoryStream = new MemoryStream(); httpContext.Response.Body = memoryStream; httpContext.RequestServices = services.BuildServiceProvider(); return(httpContext); }