Merge pull request #14704 from edx/mrehan/strip-edx-video-id

TNL-5769 – strip video id on saving the video
This commit is contained in:
M. Rehan
2017-03-17 12:56:41 +05:00
committed by GitHub
2 changed files with 23 additions and 0 deletions

View File

@@ -502,6 +502,7 @@ class VideoDescriptor(VideoFields, VideoTranscriptsMixin, VideoStudioViewHandler
break
if metadata_was_changed_by_user:
self.edx_video_id = self.edx_video_id.strip()
manage_video_subtitles_save(
self,
user,

View File

@@ -9,6 +9,7 @@ from path import Path as path
from lxml import etree
from mock import patch, MagicMock, Mock
from nose.plugins.attrib import attr
from uuid import uuid4
from django.conf import settings
from django.test import TestCase
@@ -1089,6 +1090,27 @@ class TestEditorSavedMethod(BaseTestXmodule):
item.editor_saved(self.user, old_metadata, None)
self.assertFalse(manage_video_subtitles_save.called)
@ddt.data(TEST_DATA_MONGO_MODULESTORE, TEST_DATA_SPLIT_MODULESTORE)
def test_editor_saved_with_unstripped_video_id(self, default_store):
"""
Verify editor saved when video id contains spaces/tabs.
"""
self.MODULESTORE = default_store
stripped_video_id = unicode(uuid4())
unstripped_video_id = u'{video_id}{tabs}'.format(video_id=stripped_video_id, tabs=u'\t\t\t')
self.metadata.update({
'edx_video_id': unstripped_video_id
})
self.initialize_module(metadata=self.metadata)
item = self.store.get_item(self.item_descriptor.location)
self.assertEqual(item.edx_video_id, unstripped_video_id)
# Now, modifying and saving the video module should strip the video id.
old_metadata = own_metadata(item)
item.display_name = u'New display name'
item.editor_saved(self.user, old_metadata, None)
self.assertEqual(item.edx_video_id, stripped_video_id)
@ddt.ddt
class TestVideoDescriptorStudentViewJson(TestCase):