Skip to content
This repository was archived by the owner on Jul 18, 2023. It is now read-only.

Commit 111866f

Browse files
committed
More tests
1 parent a051939 commit 111866f

File tree

1 file changed

+43
-13
lines changed

1 file changed

+43
-13
lines changed

emailaudit/types_test.go

Lines changed: 43 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,56 @@ func TestMailMonitorToXML(t *testing.T) {
99
loc, _ := time.LoadLocation("Asia/Tokyo")
1010
beginDate := time.Date(2016, time.September, 1, 0, 0, 0, 0, loc)
1111
endDate := time.Date(2016, time.October, 30, 23, 59, 59, 0, loc)
12-
m := NewMailMonitor("littleapps.co.jp", "src", "dest", &endDate, MailMonitorLevels{
13-
IncomingEmail: FullMessageLevel,
14-
OutgoingEmail: FullMessageLevel,
15-
Draft: FullMessageLevel,
16-
Chat: FullMessageLevel,
17-
})
18-
m.BeginDate = &beginDate
19-
20-
x := string(m.toXML())
21-
expected := `<entry xmlns="http://www.w3.org/2005/Atom">
12+
for _, test := range []struct {
13+
monitor MailMonitor
14+
expectedXML string
15+
}{
16+
{NewMailMonitor("littleapps.co.jp", "src", "dest", &endDate, MailMonitorLevels{}),
17+
`<entry xmlns="http://www.w3.org/2005/Atom">
18+
<apps:property name="destUserName" value="dest"></apps:property>
19+
<apps:property name="endDate" value="2016-10-30 14:59"></apps:property>
20+
</entry>`},
21+
{func() MailMonitor {
22+
m := NewMailMonitor("littleapps.co.jp", "src", "dest", &endDate, MailMonitorLevels{
23+
IncomingEmail: HeaderOnlyLevel,
24+
OutgoingEmail: HeaderOnlyLevel,
25+
Draft: HeaderOnlyLevel,
26+
Chat: HeaderOnlyLevel,
27+
})
28+
return m
29+
}(),
30+
`<entry xmlns="http://www.w3.org/2005/Atom">
31+
<apps:property name="destUserName" value="dest"></apps:property>
32+
<apps:property name="endDate" value="2016-10-30 14:59"></apps:property>
33+
<apps:property name="incomingEmailMonitorLevel" value="HEADER_ONLY"></apps:property>
34+
<apps:property name="outgoingEmailMonitorLevel" value="HEADER_ONLY"></apps:property>
35+
<apps:property name="draftMonitorLevel" value="HEADER_ONLY"></apps:property>
36+
<apps:property name="chatMonitorLevel" value="HEADER_ONLY"></apps:property>
37+
</entry>`},
38+
{func() MailMonitor {
39+
m := NewMailMonitor("littleapps.co.jp", "src", "dest", &endDate, MailMonitorLevels{
40+
IncomingEmail: FullMessageLevel,
41+
OutgoingEmail: FullMessageLevel,
42+
Draft: FullMessageLevel,
43+
Chat: FullMessageLevel,
44+
})
45+
m.BeginDate = &beginDate
46+
return m
47+
}(),
48+
`<entry xmlns="http://www.w3.org/2005/Atom">
2249
<apps:property name="destUserName" value="dest"></apps:property>
2350
<apps:property name="endDate" value="2016-10-30 14:59"></apps:property>
2451
<apps:property name="incomingEmailMonitorLevel" value="FULL_MESSAGE"></apps:property>
2552
<apps:property name="outgoingEmailMonitorLevel" value="FULL_MESSAGE"></apps:property>
2653
<apps:property name="draftMonitorLevel" value="FULL_MESSAGE"></apps:property>
2754
<apps:property name="chatMonitorLevel" value="FULL_MESSAGE"></apps:property>
2855
<apps:property name="beginDate" value="2016-08-31 15:00"></apps:property>
29-
</entry>`
30-
if x != expected {
31-
t.Errorf(`Expected "%v" but got "%v"`, expected, x)
56+
</entry>`},
57+
} {
58+
x := string(test.monitor.toXML())
59+
if x != test.expectedXML {
60+
t.Errorf(`Expected "%v" but got "%v"`, test.expectedXML, x)
61+
}
3262
}
3363
}
3464

0 commit comments

Comments
 (0)