Add test for ignoring tilde files on import of extra content

This commit is contained in:
David Baumgold
2014-02-06 16:41:21 -05:00
parent 09bdcbbc6f
commit cc091f833a
5 changed files with 36 additions and 2 deletions

View File

@@ -1,16 +1,29 @@
import os.path
import unittest
from glob import glob
from mock import patch
from nose.tools import assert_raises, assert_equals # pylint: disable=E0611
from xmodule.course_module import CourseDescriptor
from xmodule.modulestore.xml import XMLModuleStore
from xmodule.modulestore import XML_MODULESTORE_TYPE
from xmodule.modulestore import Location, XML_MODULESTORE_TYPE
from .test_modulestore import check_path_to_location
from xmodule.tests import DATA_DIR
def glob_tildes_at_end(path):
"""
A wrapper for the `glob.glob` function, but it always returns
files that end in a tilde (~) at the end of the list of results.
"""
result = glob(path)
with_tildes = [f for f in result if f.endswith("~")]
no_tildes = [f for f in result if not f.endswith("~")]
return no_tildes + with_tildes
class TestXMLModuleStore(object):
class TestXMLModuleStore(unittest.TestCase):
def test_path_to_location(self):
"""Make sure that path_to_location works properly"""
@@ -42,3 +55,19 @@ class TestXMLModuleStore(object):
location = CourseDescriptor.id_to_location("edX/toy/2012_Fall")
errors = modulestore.get_item_errors(location)
assert errors == []
@patch("xmodule.modulestore.xml.glob.glob", side_effect=glob_tildes_at_end)
def test_tilde_files_ignored(self, fake_glob):
modulestore = XMLModuleStore(DATA_DIR, course_dirs=['tilde'], load_error_modules=False)
course_module = modulestore.modules['edX/tilde/2012_Fall']
about_location = Location({
'tag': 'i4x',
'org': 'edX',
'course': 'tilde',
'category': 'about',
'name': 'index',
})
about_module = course_module[about_location]
self.assertIn("GREEN", about_module.data)
self.assertNotIn("RED", about_module.data)

View File

@@ -0,0 +1 @@
GREEN

View File

@@ -0,0 +1 @@
RED

View File

@@ -0,0 +1 @@
<course org="edX" course="tilde" slug="2012_Fall"/>

View File

@@ -0,0 +1,2 @@
<course>
</course>