-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTestHeader.cs
162 lines (145 loc) · 5.59 KB
/
TestHeader.cs
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
using System;
using System.Collections.Generic;
using NUnit.Framework;
namespace SendGrid.SmtpApi.HeaderTests
{
[TestFixture]
public class TestHeader
{
[Test]
public void TestAddFilterSetting()
{
var test = new Header();
test.AddFilterSetting("foo", new List<string> { "a", "b" }, "bar");
string result = test.JsonString();
Assert.AreEqual("{\"filters\" : {\"foo\" : {\"settings\" : {\"a\" : {\"b\" : \"bar\"}}}}}", result);
}
[Test]
public void TestAddSection()
{
var test = new Header();
test.AddSection("foo", "bar");
string result = test.JsonString();
Assert.AreEqual("{\"section\" : {\"foo\" : \"bar\"}}", result);
}
[Test]
public void TestAddSubstitution()
{
var test = new Header();
test.AddSubstitution("foo", new List<string> { "bar", "raz" });
string result = test.JsonString();
Assert.AreEqual("{\"sub\" : {\"foo\" : [\"bar\",\"raz\"]}}", result);
}
[Test]
public void TestAddUniqueArgs()
{
var test = new Header();
test.AddUniqueArgs(new Dictionary<string, string> { { "foo", "bar" } });
string result = test.JsonString();
Assert.AreEqual("{\"unique_args\" : {\"foo\" : \"bar\"}}", result);
}
[Test]
public void TestDisable()
{
var test = new Header();
test.DisableFilter("foo");
string result = test.JsonString();
Assert.AreEqual("{\"filters\" : {\"foo\" : {\"settings\" : {\"enable\" : \"0\"}}}}", result);
}
[Test]
public void TestEnable()
{
var test = new Header();
test.EnableFilter("foo");
string result = test.JsonString();
Assert.AreEqual("{\"filters\" : {\"foo\" : {\"settings\" : {\"enable\" : \"1\"}}}}", result);
}
[Test]
public void TestJsonString()
{
var test = new Header();
string result = test.JsonString();
Assert.AreEqual("", result);
test = new Header();
test.AddSubstitution("foo", new List<string> { "a", "b" });
result = test.JsonString();
Assert.AreEqual("{\"sub\" : {\"foo\" : [\"a\",\"b\"]}}", result);
}
[Test]
public void TestSetCategories()
{
var test = new Header();
test.SetCategories(new List<string> { "dogs", "animals", "pets", "mammals" });
string result = test.JsonString();
Assert.AreEqual("{\"category\" : [\"dogs\",\"animals\",\"pets\",\"mammals\"]}", result);
}
[Test]
public void TestSetCategory()
{
var test = new Header();
test.SetCategory("foo");
string result = test.JsonString();
Assert.AreEqual("{\"category\" : \"foo\"}", result);
}
[Test]
public void TestSetTo()
{
var test = new Header();
test.SetTo(new List<string> { "[email protected]", "[email protected]" });
string result = test.JsonString();
Assert.AreEqual("{\"to\" : [\"[email protected]\",\"[email protected]\"]}", result);
}
[Test]
public void TestSetAsmGroupId()
{
var test = new Header();
test.SetAsmGroupId(123);
string result = test.JsonString();
Assert.AreEqual("{\"asm_group_id\" : 123}", result);
}
[Test]
public void TestSetIpPool()
{
var test = new Header();
test.SetIpPool("test_pool");
string result = test.JsonString();
Assert.AreEqual("{\"ip_pool\" : \"test_pool\"}", result);
}
[Test]
public void TestSetSendAt_DateTime()
{
var test = new Header();
var now = DateTime.UtcNow;
test.SetSendAt(now);
string result = test.JsonString();
Assert.AreEqual("{\"send_at\" : " + Utils.DateTimeToUnixTimestamp(now) + "}", result);
}
[Test]
public void TestSetSendAt_DateTimeOffset()
{
var test = new Header();
var now = DateTimeOffset.UtcNow;
test.SetSendAt(now);
string result = test.JsonString();
Assert.AreEqual("{\"send_at\" : " + Utils.DateTimeOffsetToUnixTimestamp(now) + "}", result);
}
[Test]
public void TestSetSendEachAt_DateTime()
{
var test = new Header();
var now = DateTime.UtcNow;
test.SetSendEachAt(new List<DateTime> { now, now.AddSeconds(10) });
string result = test.JsonString();
Assert.AreEqual("{\"send_each_at\" : [" + Utils.DateTimeToUnixTimestamp(now) + "," + Utils.DateTimeToUnixTimestamp(now.AddSeconds(10)) + "]}", result);
}
[Test]
public void TestSetSendEachAt_DateTimeOffset()
{
var test = new Header();
var now = DateTimeOffset.UtcNow;
test.SetSendEachAt(new List<DateTimeOffset> { now, now.AddSeconds(10) });
string result = test.JsonString();
Assert.AreEqual("{\"send_each_at\" : [" + Utils.DateTimeOffsetToUnixTimestamp(now) + "," + Utils.DateTimeOffsetToUnixTimestamp(now.AddSeconds(10)) + "]}", result);
}
}
}