def test_expire_in(self): request = FileRequest(requested_at=timezone.now(), requester=None, file_type='report') now = timezone.now() delta = timedelta(days=4, seconds=10) request.expire_in(delta, timestamp=now) self.assertEqual(request.expires_at, now + delta) request.expire_in(delta) self.assertTrue(request.expires_at >= now + delta)
def test_attach_file_and_delete(self): request = FileRequest(requested_at=timezone.now(), requester=None, file_type='report') request.save() with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL=''): contents = ContentFile('something special') request.attach_file(contents) request.save() self.assertTrue(request.finished_at) path = request.filehandle.path self.assertTrue(os.path.isfile(path)) request.delete() self.assertFalse(os.path.isfile(path))
def test_str(self): request = FileRequest(requested_at=timezone.now(), requester=None, file_type='report') expected = '{} requested at {} by {}'.format(request.file_type, request.requested_at, request.requester) self.assertEqual(expected, '%s' % request)
def test_attach_file_with_overrides(self): values = { 'filename': ('', 'abc', 'def', ''), 'content_type': ('', '', 'xyz', 'oh'), 'size': (None, 5, 0, 20) } request = FileRequest(requested_at=timezone.now(), requester=None, file_type='report') request.filename = 'ohboy' request.save() with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL=''): contents = ContentFile('something special') for i in range(4): kwargs = {'contents': contents} old_values = {} new_values = {} for field, value_list in values.items(): old_values[field] = getattr(request, field) new_values[field] = value_list[i] kwargs[field] = value_list[i] request.attach_file(**kwargs) for field, old_value in old_values.items(): new_value = new_values[field] if new_value: self.assertEqual(new_value, getattr(request, field)) else: self.assertEqual(old_value, getattr(request, field))