def test_export_to_xml(self): """Test that we write the correct XML on export.""" module_system = DummySystem(load_error_modules=True) location = Location(["i4x", "edX", "videoalpha", "default", "SampleProblem1"]) desc = VideoAlphaDescriptor(module_system, {'location': location}) desc.youtube_id_0_75 = 'izygArpw-Qo' desc.youtube_id_1_0 = 'p2Q6BrNhdh8' desc.youtube_id_1_25 = '1EeWXzPdhSA' desc.youtube_id_1_5 = 'rABDYkeK0x8' desc.show_captions = False desc.start_time = 1.0 desc.end_time = 60 desc.track = 'http://www.example.com/track' desc.html5_sources = ['http://www.example.com/source.mp4', 'http://www.example.com/source.ogg'] xml = desc.export_to_xml(None) # We don't use the `resource_fs` parameter expected = dedent('''\ <videoalpha display_name="Video Alpha" start_time="0:00:01" youtube="0.75:izygArpw-Qo,1.00:p2Q6BrNhdh8,1.25:1EeWXzPdhSA,1.50:rABDYkeK0x8" show_captions="false" end_time="0:01:00"> <source src="http://www.example.com/source.mp4"/> <source src="http://www.example.com/source.ogg"/> <track src="http://www.example.com/track"/> </videoalpha> ''') self.assertEquals(expected, xml)
def test_create_youtube_string_missing(self): """ Test that Youtube IDs which aren't explicitly set aren't included in the output string. """ system = DummySystem(load_error_modules=True) location = Location(["i4x", "edX", "videoalpha", "default", "SampleProblem1"]) model_data = {'location': location} descriptor = VideoAlphaDescriptor(system, model_data) descriptor.youtube_id_0_75 = 'izygArpw-Qo' descriptor.youtube_id_1_0 = 'p2Q6BrNhdh8' descriptor.youtube_id_1_25 = '1EeWXzPdhSA' expected = "0.75:izygArpw-Qo,1.00:p2Q6BrNhdh8,1.25:1EeWXzPdhSA" self.assertEqual(_create_youtube_string(descriptor), expected)
def test_create_youtube_string(self): """ Test that Youtube ID strings are correctly created when writing back out to XML. """ system = DummySystem(load_error_modules=True) location = Location(["i4x", "edX", "videoalpha", "default", "SampleProblem1"]) model_data = {'location': location} descriptor = VideoAlphaDescriptor(system, model_data) descriptor.youtube_id_0_75 = 'izygArpw-Qo' descriptor.youtube_id_1_0 = 'p2Q6BrNhdh8' descriptor.youtube_id_1_25 = '1EeWXzPdhSA' descriptor.youtube_id_1_5 = 'rABDYkeK0x8' expected = "0.75:izygArpw-Qo,1.00:p2Q6BrNhdh8,1.25:1EeWXzPdhSA,1.50:rABDYkeK0x8" self.assertEqual(_create_youtube_string(descriptor), expected)