def test_translation_delete_w_english_lang(self): """ Verify that DELETE dispatch works as expected for english language translation """ request_body = json.dumps({'lang': self.LANGUAGE_CODE_EN, 'edx_video_id': ''}) srt_file_name_en = subs_filename('english_translation.srt', lang=self.LANGUAGE_CODE_EN) self.item_descriptor.transcripts['en'] = 'english_translation.srt' request = Request(self.REQUEST_META, body=request_body) # upload and verify that srt file exists in assets _upload_file(self.SRT_FILE, self.item_descriptor.location, srt_file_name_en) self.assertTrue(_check_asset(self.item_descriptor.location, srt_file_name_en)) # make request and verify response response = self.item_descriptor.studio_transcript(request=request, dispatch='translation') self.assertEqual(response.status_code, 200) # verify that srt file is deleted self.assertTrue(self.LANGUAGE_CODE_EN not in self.item_descriptor.transcripts) self.assertFalse(_check_asset(self.item_descriptor.location, srt_file_name_en))
def test_translation_delete_w_sub(self): """ Verify that DELETE dispatch works as expected when translation is present against `sub` field """ request_body = json.dumps({'lang': self.LANGUAGE_CODE_EN, 'edx_video_id': ''}) sub_file_name = subs_filename(self.item_descriptor.sub, lang=self.LANGUAGE_CODE_EN) request = Request(self.REQUEST_META, body=request_body) # sub should not be empy self.assertFalse(self.item_descriptor.sub == u'') # upload and verify that srt file exists in assets _upload_file(self.SRT_FILE, self.item_descriptor.location, sub_file_name) self.assertTrue(_check_asset(self.item_descriptor.location, sub_file_name)) # make request and verify response response = self.item_descriptor.studio_transcript(request=request, dispatch='translation') self.assertEqual(response.status_code, 200) # verify that sub is empty and transcript is deleted also self.assertTrue(self.item_descriptor.sub == u'') self.assertFalse(_check_asset(self.item_descriptor.location, sub_file_name))
def test_translation_delete_wo_edx_video_id(self): """ Verify that DELETE dispatch works as expected when video has no edx_video_id """ request_body = json.dumps({'lang': self.LANGUAGE_CODE_UK, 'edx_video_id': ''}) srt_file_name_uk = subs_filename('ukrainian_translation.srt', lang=self.LANGUAGE_CODE_UK) request = Request(self.REQUEST_META, body=request_body) # upload and verify that srt file exists in assets _upload_file(self.SRT_FILE, self.item_descriptor.location, srt_file_name_uk) self.assertTrue(_check_asset(self.item_descriptor.location, srt_file_name_uk)) # verify transcripts field self.assertNotEqual(self.item_descriptor.transcripts, {}) self.assertTrue(self.LANGUAGE_CODE_UK in self.item_descriptor.transcripts) # make request and verify response response = self.item_descriptor.studio_transcript(request=request, dispatch='translation') self.assertEqual(response.status_code, 200) # verify that srt file is deleted self.assertEqual(self.item_descriptor.transcripts, {}) self.assertFalse(_check_asset(self.item_descriptor.location, srt_file_name_uk))
def test_unicode(self): name = transcripts_utils.subs_filename(u"˙∆©ƒƒƒ") self.assertEqual(name, u'subs_˙∆©ƒƒƒ.srt.sjson') name = transcripts_utils.subs_filename(u"˙∆©ƒƒƒ", 'uk') self.assertEqual(name, u'uk_subs_˙∆©ƒƒƒ.srt.sjson')