Remove duplicated test.
Add a new test for bug #1837: This tries to have the same behavior as iCal 1. create an event, add an attendee and add the organizer as an attendee 2. SOGo should remove the organizer from the attendee list Monotone-Parent: b532b841f572a64aa9b471da32a51bb939539334 Monotone-Revision: 30b555a484fd45f63e941b88e3afc1f2784480da Monotone-Author: jraby@inverse.ca Monotone-Date: 2012-06-20T20:34:28maint-2.0.2
parent
083c2d77b0
commit
0845f13327
|
@ -160,6 +160,14 @@ class CalDAVSchedulingTest(unittest.TestCase):
|
|||
"%stest-rrule-invitation-deleted-exdate-dance.ics" % self.user_calendar, None)
|
||||
self._deleteEvent(self.attendee1_client,
|
||||
"%stest-rrule-invitation-deleted-exdate-dance.ics" % self.attendee1_calendar, None)
|
||||
self._deleteEvent(self.client,
|
||||
"%stest-organizer-is-attendee.ics" % self.user_calendar, None)
|
||||
self._deleteEvent(self.attendee1_client,
|
||||
"%stest-organizer-is-attendee.ics" % self.attendee1_calendar, None)
|
||||
self._deleteEvent(self.client,
|
||||
"%stest-remove-attendee.ics" % self.user_calendar, None)
|
||||
self._deleteEvent(self.attendee1_client,
|
||||
"%stest-remove-attendee.ics" % self.attendee1_calendar, None)
|
||||
|
||||
def _newEvent(self, summary="test event", uid="test", transp=0):
|
||||
transparency = ("OPAQUE", "TRANSPARENT")
|
||||
|
@ -268,7 +276,7 @@ class CalDAVSchedulingTest(unittest.TestCase):
|
|||
""" add attendee after event creation """
|
||||
|
||||
# make sure the event doesn't exist
|
||||
ics_name = "test-add-attendee.ics"
|
||||
ics_name = "test-add-attendee.ics"
|
||||
self._deleteEvent(self.client,
|
||||
"%s%s" % (self.user_calendar,ics_name), None)
|
||||
self._deleteEvent(self.attendee1_client,
|
||||
|
@ -346,40 +354,6 @@ class CalDAVSchedulingTest(unittest.TestCase):
|
|||
# 6. verify that the attendee doesn't have the event anymore
|
||||
attendee_event = self._getEvent(self.attendee1_client, "%s%s" % (self.attendee1_calendar, ics_name), 404)
|
||||
|
||||
def testAddAttendee(self):
|
||||
""" add attendee after event creation """
|
||||
|
||||
# make sure the event doesn't exist
|
||||
ics_name = "test-add-attendee.ics"
|
||||
self._deleteEvent(self.client,
|
||||
"%s%s" % (self.user_calendar,ics_name), None)
|
||||
self._deleteEvent(self.client,
|
||||
"%s%s" % (self.attendee1_calendar,ics_name), None)
|
||||
|
||||
# 1. create an event in the organiser's calendar
|
||||
event = self._newEvent(summary="Test add attendee", uid="Test add attendee")
|
||||
organizer = event.vevent.add('organizer')
|
||||
organizer.cn_param = self.user_name
|
||||
organizer.value = self.user_email
|
||||
self._putEvent(self.client, "%s%s" % (self.user_calendar, ics_name), event)
|
||||
|
||||
# 2. add an attendee
|
||||
attendee = event.vevent.add('attendee')
|
||||
attendee.cn_param = self.attendee1_name
|
||||
attendee.rsvp_param = "TRUE"
|
||||
attendee.partstat_param = "NEEDS-ACTION"
|
||||
attendee.value = self.attendee1_email
|
||||
self._putEvent(self.client, "%s%s" % (self.user_calendar, ics_name), event,
|
||||
exp_status=204)
|
||||
|
||||
|
||||
# 3. verify that the attendee has the event
|
||||
attendee_event = self._getEvent(self.attendee1_client, "%s%s" % (self.attendee1_calendar, ics_name))
|
||||
|
||||
# 4. make sure the received event match the original one
|
||||
# XXX is this enough?
|
||||
self.assertEquals(event.vevent.uid, attendee_event.vevent.uid)
|
||||
|
||||
def testResourceNoOverbook(self):
|
||||
""" try to overbook a resource """
|
||||
|
||||
|
@ -663,6 +637,49 @@ class CalDAVSchedulingTest(unittest.TestCase):
|
|||
self.assertEqual(org_ev_master.attendee.partstat_param, "NEEDS-ACTION");
|
||||
self.assertEqual(org_ev_exception.attendee.partstat_param, "DECLINED");
|
||||
|
||||
def testOrganizerIsAttendee(self):
|
||||
""" iCal organizer is attendee - bug #1837 """
|
||||
|
||||
# This tries to have the same behavior as iCal
|
||||
# 1. create an event, add an attendee and add the organizer as an attendee
|
||||
# 2. SOGo should remove the organizer from the attendee list
|
||||
ics_name = "test-organizer-is-attendee.ics"
|
||||
self._deleteEvent(self.client,
|
||||
"%s%s" % (self.user_calendar, ics_name), None)
|
||||
self._deleteEvent(self.attendee1_client,
|
||||
"%s%s" % (self.attendee1_calendar, ics_name), None)
|
||||
|
||||
# 1. create a recurring event in the organiser's calendar
|
||||
summary="org is attendee"
|
||||
uid=summary
|
||||
event = self._newEvent(summary, uid)
|
||||
organizer = event.vevent.add('organizer')
|
||||
organizer.cn_param = self.user_name
|
||||
organizer.partstat_param = "ACCEPTED"
|
||||
organizer.value = self.user_email
|
||||
attendee = event.vevent.add('attendee')
|
||||
attendee.cn_param = self.attendee1_name
|
||||
attendee.rsvp_param = "TRUE"
|
||||
attendee.role_param = "REQ-PARTICIPANT"
|
||||
attendee.partstat_param = "NEEDS-ACTION"
|
||||
attendee.value = self.attendee1_email
|
||||
|
||||
# 1.1 add the organizer as an attendee
|
||||
attendee = event.vevent.add('attendee')
|
||||
attendee.cn_param = self.user_name
|
||||
attendee.rsvp_param = "TRUE"
|
||||
attendee.role_param = "REQ-PARTICIPANT"
|
||||
attendee.partstat_param = "ACCEPTED"
|
||||
attendee.value = self.user_email
|
||||
|
||||
self._putEvent(self.client, "%s%s" % (self.user_calendar, ics_name), event)
|
||||
|
||||
# 2. Fetch the event and make sure the organizer is not in the attendee list anymore
|
||||
org_ev = self._getEvent(self.client, "%s%s" % (self.user_calendar, ics_name))
|
||||
|
||||
for attendee in org_ev.vevent.attendee_list:
|
||||
self.assertNotEqual(self.user_email, attendee.value)
|
||||
|
||||
def testInvitationDelegation(self):
|
||||
""" invitation delegation """
|
||||
|
||||
|
|
Loading…
Reference in New Issue