Restore raise_errors to before_import - see #399
This commit is contained in:
parent
158a1064e8
commit
b6d9d32b90
|
@ -529,6 +529,8 @@ class Resource(six.with_metaclass(DeclarativeMetaclass)):
|
|||
logging.exception(e)
|
||||
tb_info = traceback.format_exc()
|
||||
result.append_base_error(self.get_error_result_class()(e, tb_info))
|
||||
if raise_errors:
|
||||
raise
|
||||
|
||||
instance_loader = self._meta.instance_loader_class(self, dataset)
|
||||
|
||||
|
|
|
@ -585,6 +585,26 @@ class ModelResourceTest(TestCase):
|
|||
instance = Book.objects.get(pk=self.book.pk)
|
||||
self.assertEqual(instance.author_email, 'extra@example.com')
|
||||
|
||||
def test_before_import_raises_error(self):
|
||||
class B(BookResource):
|
||||
def before_import(self, dataset, using_transactions, dry_run, **kwargs):
|
||||
raise Exception('This is an invalid dataset')
|
||||
|
||||
resource = B()
|
||||
with self.assertRaises(Exception) as cm:
|
||||
resource.import_data(self.dataset, raise_errors=True)
|
||||
self.assertEqual(u"This is an invalid dataset", cm.exception.args[0])
|
||||
|
||||
def test_after_import_raises_error(self):
|
||||
class B(BookResource):
|
||||
def after_import(self, dataset, result, using_transactions, dry_run, **kwargs):
|
||||
raise Exception('This is an invalid dataset')
|
||||
|
||||
resource = B()
|
||||
with self.assertRaises(Exception) as cm:
|
||||
resource.import_data(self.dataset, raise_errors=True)
|
||||
self.assertEqual(u"This is an invalid dataset", cm.exception.args[0])
|
||||
|
||||
def test_link_to_nonexistent_field(self):
|
||||
with self.assertRaises(FieldDoesNotExist) as cm:
|
||||
class BrokenBook1(resources.ModelResource):
|
||||
|
|
Loading…
Reference in New Issue