forked from mhewedy/ews
-
Notifications
You must be signed in to change notification settings - Fork 1
/
create_item_test.go
60 lines (54 loc) · 1.83 KB
/
create_item_test.go
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
package ews
import (
"encoding/xml"
"log"
"testing"
"time"
"github.com/Abovo-Media/go-ews/ewsxml"
"github.com/stretchr/testify/assert"
)
func Test_marshal_CalendarItem(t *testing.T) {
attendees := make([]ewsxml.Attendee, 0)
attendees = append(attendees,
ewsxml.Attendee{Mailbox: ewsxml.Mailbox{EmailAddress: "[email protected]"}},
ewsxml.Attendee{Mailbox: ewsxml.Mailbox{EmailAddress: "[email protected]"}},
)
var item ewsxml.CalendarItem
item.Subject = "Planning Meeting"
item.Body.BodyType = ewsxml.BodyType_Text
item.Body.Contents = []byte("Plan the agenda for next week's meeting.")
item.ReminderIsSet = true
item.ReminderMinutesBeforeStart = 60
item.Start, _ = time.Parse(time.RFC3339, "2006-11-02T14:00:00Z")
item.End, _ = time.Parse(time.RFC3339, "2006-11-02T15:00:00Z")
item.LegacyFreeBusyStatus = ewsxml.LegacyFreeBusyStatus_Busy
item.Location = "Conference Room 721"
item.RequiredAttendees = attendees
xmlBytes, err := xml.MarshalIndent(item, "", " ")
if err != nil {
log.Fatal(err)
}
assert.Equal(t, `<CalendarItem>
<t:Subject>Planning Meeting</t:Subject>
<t:Body BodyType="Text">Plan the agenda for next week's meeting.</t:Body>
<t:ReminderIsSet>true</t:ReminderIsSet>
<t:ReminderMinutesBeforeStart>60</t:ReminderMinutesBeforeStart>
<t:Start>2006-11-02T14:00:00Z</t:Start>
<t:End>2006-11-02T15:00:00Z</t:End>
<t:IsAllDayEvent>false</t:IsAllDayEvent>
<t:LegacyFreeBusyStatus>Busy</t:LegacyFreeBusyStatus>
<t:Location>Conference Room 721</t:Location>
<t:RequiredAttendees>
<t:Attendee>
<t:Mailbox>
<t:EmailAddress>[email protected]</t:EmailAddress>
</t:Mailbox>
</t:Attendee>
<t:Attendee>
<t:Mailbox>
<t:EmailAddress>[email protected]</t:EmailAddress>
</t:Mailbox>
</t:Attendee>
</t:RequiredAttendees>
</CalendarItem>`, string(xmlBytes))
}