예제 #1
0
        public async Task SendEmailCallsEndpointAndDoesntThrow()
        {
            var mockedLogger = new Mock <ILogger <PureMailClient> >();

            mockedLogger.Setup(a => a.Log <object>(
                                   It.IsAny <Microsoft.Extensions.Logging.LogLevel>(),
                                   It.IsAny <EventId>(),
                                   It.IsAny <object>(),
                                   It.IsAny <Exception>(),
                                   It.IsAny <Func <object, Exception, string> >()));

            var mockedRestClient   = new Mock <IRestClient>();
            var mockedRestResponse = new Mock <IRestResponse>();

            mockedRestResponse.Setup(a => a.StatusCode).Returns(HttpStatusCode.Accepted);
            mockedRestResponse.Setup(a => a.Content).Returns("{\"requestId\":\"123\"}");

            mockedRestClient.Setup(a => a.ExecuteTaskAsync(It.IsAny <IRestRequest>())).ReturnsAsync(mockedRestResponse.Object);

            var pureMailClient = new PureMailClient(
                new PureMailClientOptions()
            {
                ServiceBaseUrl = "http://localhost:5000"
            },
                mockedLogger.Object,
                mockedRestClient.Object);

            var response = await pureMailClient
                           .TemplatedEmail("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")
                           .SetTemplateId("demo-test")
                           .Send(new
            {
                value = "test"
            });
        }
예제 #2
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Provide access token as argument");
                return;
            }

            Console.WriteLine("Trying to request email");

            var pureMailClient = new PureMailClient();

            var pureMailResponse = pureMailClient.TemplatedEmail(args[0])
                                   .SetTemplateId("demo-template")
                                   .Send(new
            {
                property = "asd"
            }).Result;

            Console.WriteLine($"Sent {pureMailResponse.RequestId}");
        }