diff --git a/common/lib/xmodule/tests/test_export.py b/common/lib/xmodule/tests/test_export.py new file mode 100644 index 0000000000000000000000000000000000000000..97da2c4fe5d58f104c02e28ed532b14d8ad655dc --- /dev/null +++ b/common/lib/xmodule/tests/test_export.py @@ -0,0 +1,28 @@ +from xmodule.modulestore.xml import XMLModuleStore +from nose.tools import assert_equals +from tempfile import mkdtemp +from fs.osfs import OSFS + + +def check_export_roundtrip(data_dir): + print "Starting import" + initial_import = XMLModuleStore('org', 'course', data_dir, eager=True) + initial_course = initial_import.course + + print "Starting export" + export_dir = mkdtemp() + fs = OSFS(export_dir) + xml = initial_course.export_to_xml(fs) + with fs.open('course.xml', 'w') as course_xml: + course_xml.write(xml) + + print "Starting second import" + second_import = XMLModuleStore('org', 'course', export_dir, eager=True) + + print "Checking key equality" + assert_equals(initial_import.modules.keys(), second_import.modules.keys()) + + print "Checking module equality" + for location in initial_import.modules.keys(): + print "Checking", location + assert_equals(initial_import.modules[location], second_import.modules[location])