From f18e0b881cb5e408157400e9236c9350da2cca24 Mon Sep 17 00:00:00 2001 From: noraiz-anwar Date: Mon, 26 Mar 2018 14:46:28 +0500 Subject: [PATCH] use library summary to fetch metadata --- common/lib/xmodule/xmodule/library_tools.py | 2 +- .../xmodule/tests/test_library_tools.py | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 common/lib/xmodule/xmodule/tests/test_library_tools.py diff --git a/common/lib/xmodule/xmodule/library_tools.py b/common/lib/xmodule/xmodule/library_tools.py index 8f6f3eaeba..ddd648b10b 100644 --- a/common/lib/xmodule/xmodule/library_tools.py +++ b/common/lib/xmodule/xmodule/library_tools.py @@ -177,5 +177,5 @@ class LibraryToolsService(object): """ return [ (lib.location.library_key.replace(version_guid=None, branch=None), lib.display_name) - for lib in self.store.get_libraries() + for lib in self.store.get_library_summaries() ] diff --git a/common/lib/xmodule/xmodule/tests/test_library_tools.py b/common/lib/xmodule/xmodule/tests/test_library_tools.py new file mode 100644 index 0000000000..6afd82fc35 --- /dev/null +++ b/common/lib/xmodule/xmodule/tests/test_library_tools.py @@ -0,0 +1,35 @@ +""" +Tests for library tools service. +""" +from mock import patch +from xmodule.library_tools import LibraryToolsService +from xmodule.modulestore.tests.factories import LibraryFactory +from xmodule.modulestore.tests.utils import MixedSplitTestCase + + +class LibraryToolsServiceTest(MixedSplitTestCase): + """ + Tests for library service. + """ + + def setUp(self): + super(LibraryToolsServiceTest, self).setUp() + + self.tools = LibraryToolsService(self.store) + + def test_list_available_libraries(self): + """ + Test listing of libraries. + """ + _ = LibraryFactory.create(modulestore=self.store) + all_libraries = self.tools.list_available_libraries() + self.assertTrue(all_libraries) + self.assertEqual(len(all_libraries), 1) + + @patch('xmodule.modulestore.split_mongo.split.SplitMongoModuleStore.get_library_summaries') + def test_list_available_libraries_fetch(self, mock_get_library_summaries): + """ + Test that library list is compiled using light weight library summary objects. + """ + _ = self.tools.list_available_libraries() + self.assertTrue(mock_get_library_summaries.called)