def setUpClass(cls): super(TestCaseTasksEnabledDashboard, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.editor_pg = editor_page.EditorPage(cls) cls.modal = site_modals.SiteModals(cls) cls.dashboard_tab = dashboard_tab.DashboardTab(cls) cls.tasks_tab = tasks_tab.TasksTab(cls) cls.admin = UserFactory() cls.manager = UserFactory() cls.member = UserFactory() cls.team = TeamFactory(admin=cls.admin, manager=cls.manager, member=cls.member, workflow_enabled=True) cls.team_workflow = WorkflowFactory(team=cls.team, autocreate_subtitle=True, autocreate_translate=True, review_allowed=10) langs = ['en', 'ru', 'pt-br', 'fr', 'de', 'es'] for lc in langs: TeamLangPrefFactory(team=cls.team, language_code=lc, preferred=True) cls.en_video = VideoFactory(primary_audio_language_code='en') TeamVideoFactory(team=cls.team, video=cls.en_video) cls.video = TeamVideoFactory(team=cls.team).video cls.polly_glott = TeamMemberFactory(team=cls.team, ).user polly_speaks = ['en', 'cs', 'ru', 'ar'] for lang in polly_speaks: UserLangFactory(user=cls.polly_glott, language=lang)
def setUpClass(cls): super(TestCaseDemandReports, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.billing_pg = billing_page.BillingPage(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.editor_pg.open_page("/") cls.admin = UserFactory() cls.manager = UserFactory() cls.terri = UserFactory.create(username='******', is_staff=True, is_superuser=True) langs = ['ru', 'pt-br', 'de'] cls.team, cls.member, cls.member2 = cls.create_workflow_team() for lc in langs: video = TeamVideoFactory( team=cls.team, video__primary_audio_language_code='en').video #Add subtitles and approve tasks cls.add_subtitles('en', video, cls.member, complete=True) cls._post(cls.manager, video, 'en') #post approve to actions endpoint cls._post(cls.admin, video, 'en') #post approve to actions endpoint cls.add_subtitles(lc, video, cls.member, complete=True) cls._post(cls.manager, video, lc) #post approve to actions endpoint cls._post(cls.admin, video, lc) #post approve to actions endpoint
def setUpClass(cls): super(TestCaseTools, cls).setUpClass() cls.modal = site_modals.SiteModals(cls) cls.data_utils = data_helpers.DataHelpers() cls.editor_pg = editor_page.EditorPage(cls) cls.video_pg = video_page.VideoPage(cls) cls.user = UserFactory() cls.video_pg.open_page('auth/login/') cls.video_pg.log_in(cls.user.username, 'password') cls.video = VideoFactory( video_url='http://www.youtube.com/watch?v=5CKwCfLUwj4', title='Open Source Philosophy', #primary_audio_language_code='en' ) cls.data_utils.add_subs(video=cls.video) langs = ['en', 'da', 'nl'] for lc in langs: defaults = { 'video': cls.video, 'language_code': lc, 'complete': True, 'visibility': 'public', 'committer': cls.user, 'subtitles': ('apps/webdriver_testing/subtitle_data/' 'Open Source Philosophy.%s.dfxp' % lc) } cls.data_utils.add_subs(**defaults) management.call_command('update_index', interactive=False)
def setUpClass(cls): super(TestCaseTools, cls).setUpClass() cls.modal = site_modals.SiteModals(cls) cls.user = UserFactory.create() data = { 'url': 'http://www.youtube.com/watch?v=5CKwCfLUwj4', 'video__title': 'Open Source Philosophy', 'video__primary_audio_language_code': 'en', 'type': 'Y' } cls.data_utils = data_helpers.DataHelpers() cls.video = cls.data_utils.create_video(**data) subs_data = { 'language_code': 'en', 'complete': True, 'visibility': 'public' } cls.data_utils.add_subs(video=cls.video, **subs_data) management.call_command('update_index', interactive=False) cls.editor_pg = editor_page.EditorPage(cls) cls.data_utils = data_helpers.DataHelpers() cls.video_pg = video_page.VideoPage(cls) cls.video_pg.open_page('auth/login/', alert_check=True) cls.video_pg.log_in(cls.user.username, 'password')
def setUpClass(cls): super(TestCaseModeratedVideoTitles, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.admin_video_pg = edit_video_page.EditVideoPage(cls) cls.tasks_tab = TasksTab(cls) cls.videos_tab = VideosTab(cls) cls.video_pg = video_page.VideoPage(cls) cls.modal = site_modals.SiteModals(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.video_lang_pg = video_language_page.VideoLanguagePage(cls) cls.staff = UserFactory(is_staff=True, is_superuser=True) cls.admin = UserFactory() cls.manager = UserFactory() cls.member = UserFactory() cls.team = TeamFactory(admin=cls.admin, manager=cls.manager, member=cls.member, workflow_type='O', workflow_enabled=True ) cls.workflow = WorkflowFactory( team = cls.team, autocreate_subtitle = True, autocreate_translate = False, review_allowed = 10, approve_allowed = 20) #Create a member of the team cls.subs_file = os.path.join(os.getcwd(), 'apps','webdriver_testing', 'subtitle_data', 'basic_subs.dfxp')
def setUp(self): super(TestCaseIncomplete, self).setUp() self.data_utils = data_helpers.DataHelpers() self.video_pg = video_page.VideoPage(self) self.user = UserFactory.create(username = '******') self.sub_editor = subtitle_editor.SubtitleEditor(self) self.editor_pg = editor_page.EditorPage(self) self.modal = site_modals.SiteModals(self) td = {'url': ('http://qa.pculture.org/amara_tests/' 'Birds_short.webmsd.webm') } self.test_video = VideoFactory(**td) self.video_pg.open_video_page(self.test_video.video_id) self.video_pg.log_in(self.user.username, 'password') self.video_pg.set_skiphowto() #Open the video page and sync the first 3 subs self.video_pg.add_subtitles() self.modal.add_language('English', 'English') self.editor_pg.legacy_editor() self.logger.info('typing subs') self.typed_subs = self.sub_editor.type_subs() self.sub_editor.continue_to_next_step() self.logger.info('syncing subs') self.sub_editor.sync_subs(len(self.typed_subs)+2) self.timing_list = self.sub_editor.sub_timings() self.sub_editor.continue_to_next_step() self.logger.info('continue to description screen') self.sub_editor.continue_to_next_step() self.logger.info('continue to review screen') self.sub_editor.continue_to_next_step()
def setUpClass(cls): super(TestCaseLeftSide, cls).setUpClass() fixt_data = [ 'apps/webdriver_testing/fixtures/editor_auth.json', 'apps/webdriver_testing/fixtures/editor_videos.json', 'apps/webdriver_testing/fixtures/editor_subtitles.json' ] for f in fixt_data: management.call_command('loaddata', f, verbosity=0) cls.logger.info("""Default Test Data loaded from fixtures English, source primary v2 -> v6 v1 -> deleted Chinese v1 -> v3 v3 {"zh-cn": 2, "en": 6} Danish v1 --> v4 v4 {"en": 5, "da": 3} Swedish v1 --> v3 FORKED v3 {"sv": 2} v1 --> private Turkish (tr) v1 incomplete {"en": 5} """) cls.editor_pg = editor_page.EditorPage(cls) cls.data_utils = data_helpers.DataHelpers() cls.video_pg = video_page.VideoPage(cls) cls.user = UserFactory.create() cls.video_pg.open_page('auth/login/', alert_check=True) cls.video_pg.log_in(cls.user.username, 'password')
def setUpClass(cls): super(TestCaseEditing, cls).setUpClass() cls.editor_pg = editor_page.EditorPage(cls) cls.data_utils = data_helpers.DataHelpers() cls.video_pg = video_page.VideoPage(cls) cls.user = UserFactory.create() cls.video_pg.open_page('auth/login/') cls.video_pg.log_in(cls.user.username, 'password') data = { 'video_url': 'http://www.youtube.com/watch?v=5CKwCfLUwj4', 'title': 'Open Source Philosophy' } url_part = 'videos/' r = cls.data_utils.make_request(cls.user, 'post', url_part, **data) cls.video, _ = Video.get_or_create_for_url( 'http://www.youtube.com/watch?v=5CKwCfLUwj4') cls.data_utils.add_subs(video=cls.video) langs = ['en', 'da', 'ar', 'tr', 'zh-cn', 'nl'] for lc in langs: defaults = { 'video': cls.video, 'language_code': lc, 'complete': True, 'visibility': 'public', 'committer': cls.user, 'subtitles': ('apps/webdriver_testing/subtitle_data/' 'Open Source Philosophy.%s.dfxp' % lc) } cls.data_utils.add_subs(**defaults)
def setUpClass(cls): super(TestCaseSubmittable, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.editor_pg = editor_page.EditorPage(cls) cls.modal = site_modals.SiteModals(cls) cls.video_pg = video_page.VideoPage(cls) cls.video_language_pg = video_language_page.VideoLanguagePage(cls) cls.user = UserFactory.create(username = '******') cls.sub_editor = subtitle_editor.SubtitleEditor(cls) td = {'video_url': ('http://qa.pculture.org/amara_tests/' 'Birds_short.mp4') } cls.test_video = VideoFactory(**td) cls.video_pg.open_video_page(cls.test_video.video_id) cls.video_pg.log_in(cls.user.username, 'password') #Open the video page and sync the first 3 subs cls.video_pg.add_subtitles() cls.modal.add_language('English', 'English') cls.editor_pg.legacy_editor() cls.logger.info('typing subs') cls.typed_subs = cls.sub_editor.type_subs() cls.sub_editor.continue_to_next_step() cls.logger.info('syncing subs') cls.sub_editor.sync_subs(len(cls.typed_subs)+2) cls.timing_list = cls.sub_editor.sub_timings() cls.sub_editor.save_and_exit()
def setUpClass(cls): super(TestCaseEditUploaded, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.user = UserFactory() cls.video_language_pg = video_language_page.VideoLanguagePage(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.subs_data_dir = os.path.join(os.getcwd(), 'apps', 'webdriver_testing', 'subtitle_data')
def setUpClass(cls): super(TestCaseDeleteLast, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.editor_pg = editor_page.EditorPage(cls) cls.tasks_tab = TasksTab(cls) cls.video_pg = video_page.VideoPage(cls) cls.watch_pg = watch_page.WatchPage(cls) cls.user = UserFactory.create() cls.owner = UserFactory.create() cls.team = TeamMemberFactory.create(team__workflow_enabled=True, team__translate_policy=20, #any team team__subtitle_policy=20, #any team team__task_assign_policy=10, #any team user = cls.owner, ).team cls.workflow = WorkflowFactory(team = cls.team, autocreate_subtitle=True, autocreate_translate=True, approve_allowed = 10, # manager review_allowed = 10, # peer ) lang_list = ['en', 'ru', 'pt-br', 'de', 'sv'] for language in lang_list: TeamLangPrefFactory.create(team=cls.team, language_code=language, preferred=True) cls.admin = TeamMemberFactory(role="ROLE_ADMIN",team=cls.team).user cls.contributor = TeamMemberFactory(team=cls.team).user cls.subs_dir = os.path.join(os.getcwd(), 'apps', 'webdriver_testing', 'subtitle_data') cls.video, cls.tv = cls.create_source_with_multiple_revisions() translation = os.path.join(cls.subs_dir, 'Timed_text.sv.dfxp') #Upload subs - sv - incomplete, de - reviewed, ru - complete needs review cls.logger.info("""Uploading subs to get tasks in various stages: """) cls.logger.info(""" sv: translation started, incomplete ru: translation submitted, needs review de: translation reviewed, needs approve pt-br: not started """) cls._upload_lang(cls.video, translation, 'sv', cls.contributor) cls._upload_lang(cls.video, translation, 'de', cls.contributor, complete=True) cls.data_utils.complete_review_task(cls.tv, 20, cls.admin) cls._upload_lang(cls.video, translation, 'ru', cls.contributor, complete=True) cls.logger.info('Setting visibility override on v3 to private') cls.en = cls.video.subtitle_language('en') en_v3 = cls.en.get_tip(full=True) en_v3.visibility_override = 'private' en_v3.save() cls.en.clear_tip_cache() cls.tasks_tab.open_page('teams/%s/tasks/?assignee=anyone' % cls.team.slug)
def setUpClass(cls): super(TestCaseSubtitles, cls).setUpClass() cls.user = UserFactory() #Create some test data and set subtitle data dir cls.subs_data_dir = os.path.join(os.getcwd(), 'apps', 'webdriver_testing', 'subtitle_data') cls.video_pg = video_page.VideoPage(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.video_language_pg = video_language_page.VideoLanguagePage(cls)
def setUpClass(cls): super(TestCaseUploadTranslation, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.user = UserFactory() cls.video_pg = video_page.VideoPage(cls) cls.video_language_pg = video_language_page.VideoLanguagePage(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.subs_data_dir = os.path.join(os.getcwd(), 'apps', 'webdriver_testing', 'subtitle_data') cls.video_pg.open_page('videos/create/') cls.video_pg.log_in(cls.user.username, 'password')
def setUpClass(cls): super(TestCaseEntryExit, cls).setUpClass() cls.sub_editor = subtitle_editor.SubtitleEditor(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.video_pg = video_page.VideoPage(cls) cls.video_lang_pg = video_language_page.VideoLanguagePage(cls) cls.data_utils = data_helpers.DataHelpers() cls.user = UserFactory.create() cls.video_pg.open_page('auth/login/') cls.user = UserFactory.create() cls.video_pg.log_in(cls.user.username, 'password')
def setUpClass(cls): super(TestCaseUntimedText, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.user = UserFactory.create(username = '******') cls.video_pg = video_page.VideoPage(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.test_video = VideoUrlFactory().video cls.subs_data_dir = os.path.join(os.getcwd(), 'apps', 'webdriver_testing', 'subtitle_data') cls.video_pg.open_video_page(cls.test_video.video_id) cls.video_pg.log_in(cls.user.username, 'password') cls.video_pg.set_skiphowto()
def setUpClass(cls): super(TestCaseSubtitlesUpload, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.user = UserFactory.create() #Create some test data and set subtitle data dir cls.test_video = cls.data_utils.create_video() cls.subs_data_dir = os.path.join(os.getcwd(), 'apps', 'webdriver_testing', 'subtitle_data') cls.video_pg = video_page.VideoPage(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.video_language_pg = video_language_page.VideoLanguagePage(cls) cls.video_language_pg.set_skiphowto()
def setUp(self): super(TestCaseTranscribing, self).setUp() self.data_utils = data_helpers.DataHelpers() self.modal = site_modals.SiteModals(self) self.editor_pg = editor_page.EditorPage(self) td = { 'video_url': ('http://qa.pculture.org/amara_tests/' 'Birds_short.webmsd.webm') } self.test_video = self.data_utils.create_video(**td) self.video_pg = video_page.VideoPage(self) self.user = UserFactory.create() self.video_pg.open_video_page(self.test_video.video_id) self.video_pg.log_in(self.user.username, 'password') self.sub_editor = subtitle_editor.SubtitleEditor(self) self.video_pg.log_in(self.user.username, 'password') self.video_pg.add_subtitles() self.modal.add_language('English', 'English') self.editor_pg.legacy_editor() self.typed_subs = self.sub_editor.type_subs()
def setUpClass(cls): super(TestCasePartialSync, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.user = UserFactory.create(username='******') cls.modal = site_modals.SiteModals(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.sub_editor = subtitle_editor.SubtitleEditor(cls) cls.video_pg = video_page.VideoPage(cls) cls.video_language_pg = video_language_page.VideoLanguagePage(cls) td = {'video_url': ('http://www.youtube.com/watch?v=WqJineyEszo')} cls.test_video = VideoFactory(**td) cls.video_pg.open_video_page(cls.test_video.video_id) cls.video_pg.log_in(cls.user.username, 'password') cls.video_pg.set_skiphowto() #Open the video page and sync the first 3 subs cls.video_pg.add_subtitles() cls.modal.add_language('English', 'English') cls.editor_pg.legacy_editor() cls.typed_subs = cls.sub_editor.type_subs() cls.sub_editor.save_and_exit()
def setUpClass(cls): super(TestCaseBilling, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.billing_pg = billing_page.BillingPage(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.admin = UserFactory() cls.manager = UserFactory() cls.member = UserFactory() cls.team = TeamFactory(admin=cls.admin, manager=cls.manager, member=cls.member) cls.terri = UserFactory(is_staff=True, is_superuser=True) TeamMemberFactory(team=cls.team, user=cls.terri) cls.billing_pg.open_page('/') cls.video, cls.tv = cls._create_tv_with_original_subs(cls.member, cls.team) cls._upload_sv_translation(cls.video, cls.member, complete=True) cls.bill_dict = cls.create_team_bill() cls.billing_pg.open_billing_page() cls.billing_pg.log_in(cls.terri.username, 'password')
def setUpClass(cls): super(TestCaseCenter, cls).setUpClass() fixt_data = [ 'apps/webdriver_testing/fixtures/editor_auth.json', 'apps/webdriver_testing/fixtures/editor_videos.json', 'apps/webdriver_testing/fixtures/editor_subtitles.json' ] for f in fixt_data: management.call_command('loaddata', f, verbosity=0) cls.logger.info("""Default Test Data video[0]: English, source primary v2 -> v6 v1 -> deleted Chinese v1 -> v3 v3 {"zh-cn": 2, "en": 6} Danish v1 --> v4 v4 {"en": 5, "da": 3} Swedish v1 --> v3 FORKED v3 {"sv": 2} v1 --> private Turkish (tr) v1 incomplete {"en": 5} video[1]: No subs - about amara video video[2]: No subs youtube video[3]: en original 1 version complete. video[4]: nl unsynced, not original """) cls.editor_pg = editor_page.EditorPage(cls) cls.data_utils = data_helpers.DataHelpers() cls.video_pg = video_page.VideoPage(cls) cls.user = UserFactory.create() cls.video_pg.open_page('auth/login/') cls.video_pg.log_in(cls.user.username, 'password')
def setUpClass(cls): super(TestCaseDeletion, cls).setUpClass() cls.data_utils = data_helpers.DataHelpers() cls.video_lang_pg = video_language_page.VideoLanguagePage(cls) cls.video_pg = video_page.VideoPage(cls) cls.tasks_tab = TasksTab(cls) cls.watch_pg = watch_page.WatchPage(cls) cls.editor_pg = editor_page.EditorPage(cls) cls.user = UserFactory.create() cls.owner = UserFactory.create() cls.team = TeamMemberFactory.create( team__workflow_enabled=True, team__translate_policy=20, #any team team__subtitle_policy=20, #any team team__task_assign_policy=10, #any team user=cls.owner, ).team cls.workflow = WorkflowFactory( team=cls.team, autocreate_subtitle=True, autocreate_translate=True, approve_allowed=10, # manager review_allowed=10, # peer ) lang_list = ['en', 'ru', 'pt-br', 'de', 'sv'] for language in lang_list: TeamLangPrefFactory.create(team=cls.team, language_code=language, preferred=True) cls.admin = TeamMemberFactory(role="ROLE_ADMIN", team=cls.team).user cls.contributor = TeamMemberFactory(team=cls.team, role="ROLE_CONTRIBUTOR").user cls.subs_dir = os.path.join(os.getcwd(), 'apps', 'webdriver_testing', 'subtitle_data') cls.rev1 = os.path.join(cls.subs_dir, 'Timed_text.en.srt') cls.rev2 = os.path.join(cls.subs_dir, 'Timed_text.rev2.en.srt') cls.sv = os.path.join(cls.subs_dir, 'Timed_text.sv.dfxp') ru = os.path.join(cls.subs_dir, 'less_lines.ssa') cls.logger.info(""" Create video with en as primary audio lang. Subtitle, review and approve. Translate to: sv: reviewed de: complete, needs review ru: incomplete Delete Subtitle Language en + sv and de. """) #Create en source language 2 revisions - approved. cls.video, cls.tv = cls._add_team_video() cls._upload_subtitles(cls.video, 'en', cls.rev1, cls.contributor, complete=False) cls._upload_subtitles(cls.video, 'en', cls.rev2, cls.contributor) cls.data_utils.complete_review_task(cls.tv, 20, cls.admin) cls.data_utils.complete_approve_task(cls.tv, 20, cls.admin) #Add sv translation, reviewed cls._upload_translation(cls.video, 'sv', cls.sv, cls.contributor) cls.data_utils.complete_review_task(cls.tv, 20, cls.admin) #Add it translation, reviewed cls._upload_translation(cls.video, 'it', cls.sv, cls.contributor) cls.data_utils.complete_review_task(cls.tv, 20, cls.admin) #Add hr translation, needs review cls._upload_translation(cls.video, 'hr', cls.sv, cls.contributor) #Add de translation complete waiting review cls._upload_translation(cls.video, 'de', cls.sv, cls.contributor) #Add ru translation, incomplete. cls._upload_translation(cls.video, 'ru', cls.sv, cls.contributor, complete=False) cls.video_lang_pg.open_video_lang_page(cls.video.video_id, 'en') cls.video_lang_pg.log_in(cls.owner.username, 'password') cls.video_lang_pg.page_refresh() #Delete English subtitle language + Swedish and German cls.video_lang_pg.delete_subtitle_language(['Swedish', 'German']) management.call_command('update_index', interactive=False) management.call_command('update_video_metadata')