def test_encode_unique_bulkdeadline_id(self): d = Deadline(deadline=datetime(2000, 12, 24, 22, 30, 49)) self.assertEquals(encode_bulkdeadline_id(d), '2000-12-24T22_30_49--') d.text = 'Hello world' self.assertEquals(encode_bulkdeadline_id(d), '2000-12-24T22_30_49--{0}'.format(sha1hash('Hello world'))) # Ensure unicode works d.text = u'\u00e5ello world' self.assertEquals(encode_bulkdeadline_id(d), '2000-12-24T22_30_49--{0}'.format(sha1hash(u'\u00e5ello world')))
def _add_deadlines(self): new_deadline = self.CONTENT['deadline'] text = self.CONTENT['text'] deadlines = [] with transaction.commit_manually(): try: groups = self._query_creategroups() if len(groups) == 0: raise BadRequestFieldError('createmode', _('The given option did not match any groups.')) for group in groups: deadline = Deadline(assignment_group=group) deadline.deadline = new_deadline deadline.text = text deadline.full_clean() deadline.save() deadlines.append(deadline) logger.info('User=%s created Deadline id=%s (%s)', self.user, deadline.id, deadline.deadline) except ValidationError as e: transaction.rollback() raise ValidationErrorResponse(e) except Exception as e: transaction.rollback() raise else: transaction.commit() return deadlines