diff options
-rwxr-xr-x | SendGrid/SendGridMail/Properties/AssemblyInfo.cs | 7 | ||||
-rwxr-xr-x | SendGrid/Tests/Transport/TestREST.cs | 8 | ||||
-rwxr-xr-x | SendGrid/Tests/Transport/TestSMTP.cs | 54 |
3 files changed, 63 insertions, 6 deletions
diff --git a/SendGrid/SendGridMail/Properties/AssemblyInfo.cs b/SendGrid/SendGridMail/Properties/AssemblyInfo.cs index 0cefaba..0108aa9 100755 --- a/SendGrid/SendGridMail/Properties/AssemblyInfo.cs +++ b/SendGrid/SendGridMail/Properties/AssemblyInfo.cs @@ -23,6 +23,13 @@ using System.Runtime.InteropServices; [assembly: Guid("193fa200-8430-4206-aacd-2d2bb2dfa6cf")]
[assembly: InternalsVisibleTo("Tests")]
+[assembly:InternalsVisibleTo("DynamicProxyGenAssembly2," +
+"1310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b" +
+"PublicKey=002400000480000094000000060200000024000052534" +
+"3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d926665" +
+"4753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb" +
+"4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c486" +
+"1eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
// Version information for an assembly consists of the following four values:
//
diff --git a/SendGrid/Tests/Transport/TestREST.cs b/SendGrid/Tests/Transport/TestREST.cs index 747e540..ccbab48 100755 --- a/SendGrid/Tests/Transport/TestREST.cs +++ b/SendGrid/Tests/Transport/TestREST.cs @@ -10,7 +10,13 @@ namespace Tests.Transport class TestREST
{
[Test]
- public void Deliver()
+ public void TestDeliver()
+ {
+
+ }
+
+ [Test]
+ public void TestConstructor()
{
}
diff --git a/SendGrid/Tests/Transport/TestSMTP.cs b/SendGrid/Tests/Transport/TestSMTP.cs index fcfb050..e0e4fe5 100755 --- a/SendGrid/Tests/Transport/TestSMTP.cs +++ b/SendGrid/Tests/Transport/TestSMTP.cs @@ -1,10 +1,9 @@ using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Net;
-using System.Text;
+using System.Net.Mail;
using Moq;
using NUnit.Framework;
+using SendGridMail;
using SendGridMail.Transport;
namespace Tests.Transport
@@ -13,12 +12,57 @@ namespace Tests.Transport public class TestSMTP
{
[Test]
- public void Deliver()
+ public void TestDeliver()
{
+ var mockMessage = new Mock<ISendGrid>();
+ var mime = new MailMessage("test-from@sendgrid.com", "test-to@sendgrid.com", "this is a test", "it is only a test");
+ mockMessage.Setup(foo => foo.CreateMimeMessage()).Returns(mime);
+ var message = mockMessage.Object;
+
+ var mockClient = new Mock<SMTP.ISmtpClient>();
+ mockClient.Setup(foo => foo.Send(mime));
+ var client = mockClient.Object;
+ var credentials = new NetworkCredential("username", "password");
+ var test = SMTP.GenerateInstance(client, credentials);
+ test.Deliver(message);
+
+ mockClient.Verify(foo => foo.Send(mime), Times.Once());
+ mockMessage.Verify(foo => foo.CreateMimeMessage(), Times.Once());
+ }
+
+ [Test]
+ public void TestConstructor()
+ {
+ //Test on defaults of port 25 and
var mock = new Mock<SMTP.ISmtpClient>();
+ mock.SetupProperty(foo => foo.EnableSsl);
var client = mock.Object;
var credentials = new NetworkCredential("username", "password");
- SMTP.GenerateInstance(client, credentials);
+ var test = SMTP.GenerateInstance(client, credentials);
+ mock.Verify(foo => foo.EnableSsl, Times.Never());
+
+ mock = new Mock<SMTP.ISmtpClient>();
+ mock.SetupProperty(foo => foo.EnableSsl);
+ client = mock.Object;
+ credentials = new NetworkCredential("username", "password");
+ test = SMTP.GenerateInstance(client, credentials, port:SMTP.SslPort);
+ mock.VerifySet(foo => foo.EnableSsl = true);
+
+ mock = new Mock<SMTP.ISmtpClient>();
+ mock.SetupProperty(foo => foo.EnableSsl);
+ client = mock.Object;
+ credentials = new NetworkCredential("username", "password");
+ try
+ {
+ test = SMTP.GenerateInstance(client, credentials, port: SMTP.TlsPort);
+ Assert.Fail("should have thrown an unsupported port exception");
+ }
+ catch (NotSupportedException ex)
+ {
+ Assert.AreEqual("TLS not supported", ex.Message);
+ }
+
+
}
}
}
|