Skip to content

Commit

Permalink
bulk import unittest
Browse files Browse the repository at this point in the history
  • Loading branch information
snyaggarwal committed Sep 14, 2020
1 parent dd39654 commit 2781db4
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ omit =
core/wsgi.py
*/management/commands/*
*/migrations/*
*/factories.py
*/documents.py
core/common/search.py
*/es_normalizers.py
*/feeds.py
*test*
Expand Down
11 changes: 6 additions & 5 deletions core/common/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,12 @@ def add_references(
head = collection.get_head()
head.add_processing(self.request.id)

(added_references, errors) = collection.add_expressions(
data, host_url, user, cascade_mappings
)

head.remove_processing(self.request.id)
try:
(added_references, errors) = collection.add_expressions(
data, host_url, user, cascade_mappings
)
finally:
head.remove_processing(self.request.id)

return added_references, errors

Expand Down
2 changes: 1 addition & 1 deletion core/importers/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def initialize_importer(self):
self.importer = OclFlexImporter(
input_list=self.input_list,
api_url_root=get_base_url(),
api_token=self.user.auth_token.key,
api_token=self.user.get_token(),
do_update_if_exists=self.update_if_exists
)

Expand Down
32 changes: 31 additions & 1 deletion core/importers/tests.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,40 @@
from mock import patch, Mock, ANY

from core.common.tests import OCLAPITestCase
from core.common.tests import OCLAPITestCase, OCLTestCase
from core.importers.models import BulkImport
from core.users.models import UserProfile
from core.users.tests.factories import UserProfileFactory


class BulkImportTest(OCLTestCase):
@patch('core.importers.models.OclFlexImporter')
def test_run(self, flex_importer_mock):
user = UserProfile.objects.get(username='ocladmin')
import_results = Mock(
to_json=Mock(return_value='{"all": "200"}'),
get_detailed_summary=Mock(return_value='summary'),
display_report=Mock(return_value='report')
)
flex_importer_instance_mock = Mock(process=Mock(return_value=None), import_results=import_results)
flex_importer_mock.return_value = flex_importer_instance_mock
content = '{"foo": "bar"}\n{"foobar": "foo"}'

bulk_import = BulkImport(content=content, username='ocladmin', update_if_exists=True)
bulk_import.run()

self.assertEqual(bulk_import.result.json, {"all": "200"})
self.assertEqual(bulk_import.result.detailed_summary, 'summary')
self.assertEqual(bulk_import.result.report, 'report')

flex_importer_mock.assert_called_once_with(
input_list=[{"foo": "bar"}, {"foobar": "foo"}],
api_url_root="http://localhost:8000",
api_token=user.get_token(),
do_update_if_exists=True
)
flex_importer_instance_mock.process.assert_called_once()


class BulkImportViewTest(OCLAPITestCase):
def setUp(self):
super().setUp()
Expand Down
2 changes: 1 addition & 1 deletion core/integration_tests/tests_collections.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from core.collections.models import CollectionReference, Collection
from core.collections.serializers import CollectionDetailSerializer
from core.collections.tests.factories import OrganizationCollectionFactory, UserCollectionFactory
from core.common.tasks import export_collection
from core.common.tests import OCLAPITestCase
from core.common.utils import get_latest_dir_in_path
from core.concepts.serializers import ConceptVersionDetailSerializer
Expand All @@ -17,7 +18,6 @@
from core.orgs.tests.factories import OrganizationFactory
from core.sources.tests.factories import OrganizationSourceFactory
from core.users.tests.factories import UserProfileFactory
from core.common.tasks import export_collection


class CollectionListViewTest(OCLAPITestCase):
Expand Down

0 comments on commit 2781db4

Please sign in to comment.