diff --git a/common/lib/xmodule/xmodule/tests/test_video.py b/common/lib/xmodule/xmodule/tests/test_video.py index 3ac7226e94..6a27491e99 100644 --- a/common/lib/xmodule/xmodule/tests/test_video.py +++ b/common/lib/xmodule/xmodule/tests/test_video.py @@ -15,8 +15,10 @@ the course, section, subsection, unit, etc. import os import unittest import datetime +import shutil from uuid import uuid4 +from tempfile import mkdtemp from lxml import etree from mock import ANY, Mock, patch, MagicMock import ddt @@ -24,6 +26,7 @@ import ddt from django.conf import settings from django.test.utils import override_settings +from fs.osfs import OSFS from opaque_keys.edx.locator import CourseLocator from opaque_keys.edx.keys import CourseKey from xblock.field_data import DictFieldData @@ -31,7 +34,7 @@ from xblock.fields import ScopeIds from xmodule.tests import get_test_descriptor_system from xmodule.validation import StudioValidationMessage -from xmodule.video_module import VideoDescriptor, create_youtube_string +from xmodule.video_module import VideoDescriptor, create_youtube_string, EXPORT_STATIC_DIR from xmodule.video_module.transcripts_utils import download_youtube_subs, save_to_store from . import LogicTest from .test_import import DummySystem @@ -672,11 +675,18 @@ class VideoExportTestCase(VideoDescriptorTestBase): """ Make sure that VideoDescriptor can export itself to XML correctly. """ + def setUp(self): + super(VideoExportTestCase, self).setUp() + self.temp_dir = mkdtemp() + self.file_system = OSFS(self.temp_dir) + self.addCleanup(shutil.rmtree, self.temp_dir) + @patch('xmodule.video_module.video_module.edxval_api') def test_export_to_xml(self, mock_val_api): """ Test that we write the correct XML on export. """ + edx_video_id = u'test_edx_video_id' mock_val_api.export_to_xml = Mock(return_value=etree.Element('video_asset')) self.descriptor.youtube_id_0_75 = 'izygArpw-Qo' self.descriptor.youtube_id_1_0 = 'p2Q6BrNhdh8' @@ -691,10 +701,10 @@ class VideoExportTestCase(VideoDescriptorTestBase): self.descriptor.html5_sources = ['http://www.example.com/source.mp4', 'http://www.example.com/source1.ogg'] self.descriptor.download_video = True self.descriptor.transcripts = {'ua': 'ukrainian_translation.srt', 'ge': 'german_translation.srt'} - self.descriptor.edx_video_id = 'test_edx_video_id' + self.descriptor.edx_video_id = edx_video_id self.descriptor.runtime.course_id = MagicMock() - xml = self.descriptor.definition_to_xml(None) # We don't use the `resource_fs` parameter + xml = self.descriptor.definition_to_xml(self.file_system) parser = etree.XMLParser(remove_blank_text=True) xml_string = '''\