diff options
-rw-r--r-- | tests/functional/test_wallace/test_005_resource_invitation.py | 15 | ||||
-rw-r--r-- | wallace/module_resources.py | 7 |
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/functional/test_wallace/test_005_resource_invitation.py b/tests/functional/test_wallace/test_005_resource_invitation.py index 1800e19..53ed2ec 100644 --- a/tests/functional/test_wallace/test_005_resource_invitation.py +++ b/tests/functional/test_wallace/test_005_resource_invitation.py @@ -505,3 +505,18 @@ class TestResourceInvitation(unittest.TestCase): uid3 = self.send_itip_invitation(self.audi['mail'], datetime.datetime(2014,2,22, 8,0,0), template=itip_recurring) accept = self.check_message_received("Reservation Request for test was ACCEPTED") self.assertIsInstance(accept, email.message.Message) + + + def test_010_invalid_bookings(self): + self.purge_mailbox(self.john['mailbox']) + + itip_other = itip_invitation.replace("mailto:%s", "mailto:some-other-resource@example.org\nDESCRIPTION: Sent to %s") + self.send_itip_invitation(self.audi['mail'], datetime.datetime(2014,3,22, 8,0,0), template=itip_other) + + time.sleep(1) + + itip_invalid = itip_invitation.replace("DTSTART;", "X-DTSTART;") + self.send_itip_invitation(self.audi['mail'], datetime.datetime(2014,3,24, 19,30,0), template=itip_invalid) + + self.assertEqual(self.check_message_received("Reservation Request for test was ACCEPTED", self.audi['mail']), None) + diff --git a/wallace/module_resources.py b/wallace/module_resources.py index 302f276..ee63e85 100644 --- a/wallace/module_resources.py +++ b/wallace/module_resources.py @@ -206,6 +206,13 @@ def execute(*args, **kw): # iTip events resource_dns = resource_records_from_itip_events(itip_events, resource_recipient) + # check if resource attendees match the envelope recipient + if len(resource_dns) == 0: + log.info(_("No resource attendees matching envelope recipient %s, Reject message") % (resource_recipient)) + reject(filepath) + return False + + # Get the resource details, which includes details on the IMAP folder resources = {} for resource_dn in list(set(resource_dns)): |