aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.UnitTesting/SendGrid/SendGrid_TST.cs
blob: 785fa42bf2d5489378a696b00606794855dc77a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SendGrid;
using SendGrid.Helpers.Mail;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.UnitTesting.SendGrid
{
    [TestClass]
    [TestCategory("SendGrid")]
    public class SendGrid_TST
    {
        private const string KEY = "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";

        [TestMethod]
        public void Send_Simple_Email()
        {
            var client = new SendGridClient(KEY);
            var from = new EmailAddress("test@example.com", "Example User");
            var subject = "Sending with SendGrid is Fun";
            var to = new EmailAddress("roy@twine-s.com", "Roy Ben Shabat");
            var plainTextContent = "and easy to do anywhere, even with C#";
            var htmlContent = "<div style='color:red;'>and easy to do anywhere, even with C#</strong>";
            var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);

            var bytes = File.ReadAllBytes(@"D:\Downloads\Twine TWN Spec (3).pdf");
            var file = Convert.ToBase64String(bytes);
            msg.AddAttachment("Twine Spec.pdf", file, "application/pdf");

            var response = client.SendEmailAsync(msg).GetAwaiter().GetResult();

            Assert.IsTrue(response.StatusCode == System.Net.HttpStatusCode.Accepted);
        }
    }
}