summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTyler Bischel <tyler.bischel@sendgrid.com>2012-01-11 15:00:16 -0800
committerTyler Bischel <tyler.bischel@sendgrid.com>2012-01-11 15:00:16 -0800
commitbe03fdd1a91f7701670b0803c3120ad494228e76 (patch)
treea4df21697893432a4628a83a5657317e3f9d09ae
parentbc1cae41ed4903bcaa4ae76f53a4289863d6daff (diff)
downloadsendgrid-csharp-be03fdd1a91f7701670b0803c3120ad494228e76.zip
sendgrid-csharp-be03fdd1a91f7701670b0803c3120ad494228e76.tar.gz
sendgrid-csharp-be03fdd1a91f7701670b0803c3120ad494228e76.tar.bz2
tests to add SendGrid specific headers to a mime
-rwxr-xr-xSendGrid/Tests/TestHeader.cs76
1 files changed, 75 insertions, 1 deletions
diff --git a/SendGrid/Tests/TestHeader.cs b/SendGrid/Tests/TestHeader.cs
index 0175b38..76025aa 100755
--- a/SendGrid/Tests/TestHeader.cs
+++ b/SendGrid/Tests/TestHeader.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Net.Mail;
using System.Text;
using Moq;
using NUnit.Framework;
@@ -12,9 +13,82 @@ namespace Tests
public class TestHeader
{
[Test]
- public void TestAddTo()
+ public void TestAddSubVal()
{
+ var test = new Header();
+ test.AddSubVal("foo", new List<string>{"bar", "raz"});
+ var result = test.AsJson();
+ Assert.AreEqual("{\"data\" : {\"sub\" : {\"foo\" : [\"bar\", \"raz\"]}}}", result);
+ }
+
+ [Test]
+ public void TestAddUniqueIdentifier()
+ {
+ var test = new Header();
+ test.AddUniqueIdentifier(new Dictionary<string, string>(){{"foo", "bar"}});
+ var result = test.AsJson();
+ Assert.AreEqual("{\"data\" : {\"unique_args\" : {\"foo\" : \"bar\"}}}", result);
+ }
+
+ [Test]
+ public void TestSetCategory()
+ {
+ var test = new Header();
+ test.SetCategory("foo");
+ var result = test.AsJson();
+ Assert.AreEqual("{\"data\" : {\"category\" : \"foo\"}}", result);
+ }
+
+ [Test]
+ public void TestEnable()
+ {
+ var test = new Header();
+ test.Enable("foo");
+ var result = test.AsJson();
+ Assert.AreEqual("{\"data\" : {\"filters\" : {\"foo\" : {\"settings\" : {\"enable\" : \"1\"}}}}}", result);
+ }
+
+ [Test]
+ public void TestDisable()
+ {
+ var test = new Header();
+ test.Disable("foo");
+ var result = test.AsJson();
+ Assert.AreEqual("{\"data\" : {\"filters\" : {\"foo\" : {\"settings\" : {\"enable\" : \"0\"}}}}}", result);
+ }
+
+ [Test]
+ public void TestAddFilterSetting()
+ {
+ var test = new Header();
+ test.AddFilterSetting("foo", new List<string> { "a", "b" }, "bar");
+ var result = test.AsJson();
+ Assert.AreEqual("{\"data\" : {\"filters\" : {\"foo\" : {\"settings\" : {\"a\" : {\"b\" : \"bar\"}}}}}}", result);
}
+
+ [Test]
+ public void TestAddHeader()
+ {
+ var test = new Header();
+ test.AddSubVal("foo", new List<string> { "a", "b" });
+ var mime = new MailMessage();
+ test.AddHeader(mime);
+ var result = mime.Headers.Get("x-smtpapi");
+ Assert.AreEqual("{\"data\" : {\"sub\" : {\"foo\" : [\"a\", \"b\"]}}}", result);
+ }
+
+ [Test]
+ public void TestAsJson()
+ {
+ var test = new Header();
+ var result = test.AsJson();
+ Assert.AreEqual("", result);
+
+ test = new Header();
+ test.AddSubVal("foo", new List<string>{"a", "b"});
+ result = test.AsJson();
+ Assert.AreEqual("{\"data\" : {\"sub\" : {\"foo\" : [\"a\", \"b\"]}}}", result);
+ }
}
}