def testThisModification(self): self.event.displayName = "Master Event" #no rruleset, so no modification self.event.rruleset = self._createRuleSetItem('weekly') self.assertEqual(self.event.modifies, None) calmod = self.event.getNextOccurrence() self.assertEqual(self.event.modifications, None) calmod.changeThis('displayName', 'Modified occurrence') self.assertEqual(calmod.modificationFor, self.event) self.assertEqual(calmod.modifies, 'this') self.assertEqual(calmod.getFirstInRule(), self.event) self.assertEqual(list(self.event.modifications), [calmod]) evtaskmod = calmod.getNextOccurrence() evtaskmod.StampKind('add', TaskMixin.getKind(self.rep.view)) # changes to an event should, by default, create a THIS modification self.assertEqual(evtaskmod.modificationFor, self.event) self.assertEqual(evtaskmod.modifies, 'this') self.assertEqual(evtaskmod.getFirstInRule(), self.event) for modOrMaster in [calmod, evtaskmod, self.event]: self.assertEqual(modOrMaster.getMaster(), self.event) self.event.displayName = "Modification to master" self.assertEqual(self.event.modifies, 'this') self.assertNotEqual(None, self.event.occurrenceFor) self.assertNotEqual(self.event, self.event.occurrenceFor)
def testStamping(self): # Make sure the contentModel is loaded. self.loadParcel("parcel:osaf.pim") # @@@ Also make sure the default imap account is loaded, in order to # have a "me" EmailAddress view = self.rep.view # Get the stamp kinds taskMixin = TaskMixin.getKind(view) eventMixin = Calendar.CalendarEventMixin.getKind(view) add = 'add' remove = 'remove' # Create a Task, and do all kinds of stamping on it aTask = Task("aTask", view=view) aTask.StampKind(add, eventMixin) aTask.StampKind(remove, taskMixin)
def GenerateMailMessage(view, mainView, args): """ Generate one Mail message item """ message = Mail.MailMessage(view=view) # subject if args[0]=='*': # semi-random data message.subject = random.choice(TITLES) elif not args[0]=='': message.subject = args[0] else: #default value message.subject = 'untitled' # dateSent (date + time) message.dateSent = ReturnCompleteDatetime(args[2],args[3]) # fromAdress message.fromAddress = GenerateCalendarParticipant(view, args[4]) # toAddress if args[5]=='*': for num in range(random.randint(1,3)): message.toAddress.append(GenerateCalendarParticipant(view, args[5])) elif not args[5]=='': addressList = string.split(args[5],';') for add in addressList: message.toAddress.append(GenerateCalendarParticipant(view, add)) else: #default value message.toAddress.append(GenerateCalendarParticipant(view, '*****@*****.**')) # outbound smtpAccount = Mail.getCurrentSMTPAccount(view)[0] mailAccount = Mail.getCurrentMailAccount(view) if args[6]=='*': outbound = random.randint(0, 1) if outbound: message.outgoingMessage(smtpAccount) """Make the Message appear as if it has already been sent""" message.deliveryExtension.sendSucceeded() else: message.incomingMessage(mailAccount) elif args[6]=='TRUE': message.outgoingMessage(smtpAccount) """Make the Message appear as if it has already been sent""" message.deliveryExtension.sendSucceeded() else: # default value "incoming" message.incomingMessage(mailAccount) # Stamp Event if args[7]=='*': type = random.randint(0, 1) if type: message.StampKind('add', Calendar.CalendarEventMixin.getKind(message.itsView)) elif args[7]=='TRUE': message.StampKind('add', Calendar.CalendarEventMixin.getKind(message.itsView)) # Stamp Task if args[8]=='*': type = random.randint(0, 1) if type: message.StampKind('add', TaskMixin.getKind(message.itsView)) elif args[8]=='TRUE': message.StampKind('add', TaskMixin.getKind(message.itsView)) # body if args[9]=='*': message.body = message.getAttributeAspect('body', 'type').makeValue(M_TEXT) elif not args[9]=='': message.body = message.getAttributeAspect('body', 'type').makeValue(args[9]) else: # default value message.body = message.getAttributeAspect('body', 'type').makeValue(M_TEXT) #collection if args[1]=='*': # semi-random data collectionsDict.values()[random.randint(0,len(collectionsDict)-1)].add(message) elif not args[1]=='': collectionNames = string.split(args[1], ';') for name in collectionNames: if collectionsDict.has_key(name): collectionsDict[name].add(message) else: GenerateCollection(view, mainView, [name]) collectionsDict[name].add(message) return message
def GenerateEventTask(view, mainView, args): """ Generate one Task/Event stamped item """ event = GenerateCalendarEvent(view, mainView, args) event.StampKind('add', TaskMixin.getKind(event.itsView)) return event
def GenerateMailMessage(view, mainView, args): """ Generate one Mail message item """ message = Mail.MailMessage(view=view) # subject if args[0] == '*': # semi-random data message.subject = random.choice(TITLES) elif not args[0] == '': message.subject = args[0] else: #default value message.subject = 'untitled' # dateSent (date + time) message.dateSent = ReturnCompleteDatetime(args[2], args[3]) # fromAdress message.fromAddress = GenerateCalendarParticipant(view, args[4]) # toAddress if args[5] == '*': for num in range(random.randint(1, 3)): message.toAddress.append(GenerateCalendarParticipant( view, args[5])) elif not args[5] == '': addressList = string.split(args[5], ';') for add in addressList: message.toAddress.append(GenerateCalendarParticipant(view, add)) else: #default value message.toAddress.append( GenerateCalendarParticipant(view, '*****@*****.**')) # outbound smtpAccount = Mail.getCurrentSMTPAccount(view)[0] mailAccount = Mail.getCurrentMailAccount(view) if args[6] == '*': outbound = random.randint(0, 1) if outbound: message.outgoingMessage(smtpAccount) """Make the Message appear as if it has already been sent""" message.deliveryExtension.sendSucceeded() else: message.incomingMessage(mailAccount) elif args[6] == 'TRUE': message.outgoingMessage(smtpAccount) """Make the Message appear as if it has already been sent""" message.deliveryExtension.sendSucceeded() else: # default value "incoming" message.incomingMessage(mailAccount) # Stamp Event if args[7] == '*': type = random.randint(0, 1) if type: message.StampKind( 'add', Calendar.CalendarEventMixin.getKind(message.itsView)) elif args[7] == 'TRUE': message.StampKind('add', Calendar.CalendarEventMixin.getKind(message.itsView)) # Stamp Task if args[8] == '*': type = random.randint(0, 1) if type: message.StampKind('add', TaskMixin.getKind(message.itsView)) elif args[8] == 'TRUE': message.StampKind('add', TaskMixin.getKind(message.itsView)) # body if args[9] == '*': message.body = message.getAttributeAspect('body', 'type').makeValue(M_TEXT) elif not args[9] == '': message.body = message.getAttributeAspect('body', 'type').makeValue(args[9]) else: # default value message.body = message.getAttributeAspect('body', 'type').makeValue(M_TEXT) #collection if args[1] == '*': # semi-random data collectionsDict.values()[random.randint(0, len(collectionsDict) - 1)].add(message) elif not args[1] == '': collectionNames = string.split(args[1], ';') for name in collectionNames: if collectionsDict.has_key(name): collectionsDict[name].add(message) else: GenerateCollection(view, mainView, [name]) collectionsDict[name].add(message) return message