Commit fa84abc3 by Peter Fogg

Add unit tests for creating VideoDescriptor from old XML. Brings test coverage…

Add unit tests for creating VideoDescriptor from old XML. Brings test coverage for video_module.py to 91%.
parent a8319901
# -*- coding: utf-8 -*-
import unittest
from xmodule.video_module import VideoDescriptor
from .test_import import DummySystem
class VideoDescriptorImportTestCase(unittest.TestCase):
'''
Make sure that VideoDescriptor can import an old XML-based video correctly.
'''
def test_from_xml(self):
module_system = DummySystem(load_error_modules=True)
xml_data = '''
<video display_name="Test Video"
youtube="1.0:p2Q6BrNhdh8,0.75:izygArpw-Qo,1.25:1EeWXzPdhSA,1.5:rABDYkeK0x8"
show_captions="false"
from="00:00:01"
to="00:01:00">
<source src="http://www.example.com/source.mp4"/>
<track src="http://www.example.com/track"/>
</video>
'''
output = VideoDescriptor.from_xml(xml_data, module_system)
self.assertEquals(output.youtube_id_0_75, 'izygArpw-Qo')
self.assertEquals(output.youtube_id_1_0, 'p2Q6BrNhdh8')
self.assertEquals(output.youtube_id_1_25, '1EeWXzPdhSA')
self.assertEquals(output.youtube_id_1_5, 'rABDYkeK0x8')
self.assertEquals(output.show_captions, False)
self.assertEquals(output.start_time, 1.0)
self.assertEquals(output.end_time, 60)
self.assertEquals(output.track, 'http://www.example.com/track')
self.assertEquals(output.source, 'http://www.example.com/source.mp4')
def test_from_xml_missing_attributes(self):
'''
Ensure that attributes have the right values if they aren't
explicitly set in XML.
'''
module_system = DummySystem(load_error_modules=True)
xml_data = '''
<video display_name="Test Video"
youtube="1.0:p2Q6BrNhdh8,1.25:1EeWXzPdhSA"
show_captions="true">
<source src="http://www.example.com/source.mp4"/>
<track src="http://www.example.com/track"/>
</video>
'''
output = VideoDescriptor.from_xml(xml_data, module_system)
self.assertEquals(output.youtube_id_0_75, '')
self.assertEquals(output.youtube_id_1_0, 'p2Q6BrNhdh8')
self.assertEquals(output.youtube_id_1_25, '1EeWXzPdhSA')
self.assertEquals(output.youtube_id_1_5, '')
self.assertEquals(output.show_captions, True)
self.assertEquals(output.start_time, 0.0)
self.assertEquals(output.end_time, 0.0)
self.assertEquals(output.track, 'http://www.example.com/track')
self.assertEquals(output.source, 'http://www.example.com/source.mp4')
...@@ -90,13 +90,6 @@ class VideoDescriptor(VideoFields, ...@@ -90,13 +90,6 @@ class VideoDescriptor(VideoFields,
stores_state = True stores_state = True
template_dir_name = "video" template_dir_name = "video"
# metadata_attributes = RawDescriptor.metadata_attributes + ('youtube_id_1_0',
# 'youtube_id_0_75',
# 'youtube_id_1_25',
# 'youtube_id_1_5')
# metadata_to_strip = RawDescriptor.metadata_to_strip + ('show_captions',)
@property @property
def non_editable_metadata_fields(self): def non_editable_metadata_fields(self):
non_editable_fields = super(MetadataOnlyEditingDescriptor, self).non_editable_metadata_fields non_editable_fields = super(MetadataOnlyEditingDescriptor, self).non_editable_metadata_fields
...@@ -136,9 +129,9 @@ class VideoDescriptor(VideoFields, ...@@ -136,9 +129,9 @@ class VideoDescriptor(VideoFields,
source = _get_first_external(xml, 'source') source = _get_first_external(xml, 'source')
if source: if source:
video.source = source video.source = source
tag = _get_first_external(xml, 'tag') track = _get_first_external(xml, 'track')
if tag: if track:
video.tag = tag video.track = track
start_time = _parse_time(xml.get('from')) start_time = _parse_time(xml.get('from'))
if start_time: if start_time:
video.start_time = start_time video.start_time = start_time
......
...@@ -127,7 +127,6 @@ class ModuleRenderTestCase(LoginEnrollmentTestCase): ...@@ -127,7 +127,6 @@ class ModuleRenderTestCase(LoginEnrollmentTestCase):
class TestTOC(TestCase): class TestTOC(TestCase):
"""Check the Table of Contents for a course""" """Check the Table of Contents for a course"""
def setUp(self): def setUp(self):
self.maxDiff = None
# Toy courses should be loaded # Toy courses should be loaded
self.course_name = 'edX/toy/2012_Fall' self.course_name = 'edX/toy/2012_Fall'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment