@@ -9,26 +9,56 @@ func TestMailMonitorToXML(t *testing.T) {
99loc , _ := time .LoadLocation ("Asia/Tokyo" )
1010beginDate := time .Date (2016 , time .September , 1 , 0 , 0 , 0 , 0 , loc )
1111endDate := 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