Example #1
0
 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