예제 #1
0
    def setUpClass(cls):
        super(TestCaseProjectsFilter, cls).setUpClass()
        management.call_command('flush', interactive=False)
        cls.data_utils = data_helpers.DataHelpers()
        cls.videos_tab = videos_tab.VideosTab(cls)
        cls.team_owner = UserFactory.create()
        cls.logger.info('setup: Creating team Video Test')
        cls.team = TeamMemberFactory.create(user=cls.team_owner).team

        cls.manager_user = TeamMemberFactory(role="ROLE_ADMIN",
                                             team=cls.team,
                                             user=UserFactory()).user

        cls.logger.info('setup: Adding project one and project two with '
                        'workflows enabled')
        cls.project1 = TeamProjectFactory.create(
            team=cls.team,
            workflow_enabled=True,
        )

        cls.project2 = TeamProjectFactory.create(team=cls.team,
                                                 workflow_enabled=True)

        data = json.load(open('apps/videos/fixtures/teams-list.json'))
        videos = _create_videos(data, [])
        for video in videos:
            TeamVideoFactory.create(team=cls.team,
                                    video=video,
                                    added_by=cls.manager_user,
                                    project=cls.project2)
        management.call_command('update_index', interactive=False)
        cls.videos_tab.open_videos_tab(cls.team.slug)
        cls.videos_tab.log_in(cls.manager_user.username, 'password')
예제 #2
0
    def setUpClass(cls):
        super(TestCaseFilterSort, cls).setUpClass()
        #management.call_command('flush', interactive=False)

        cls.data_utils = data_helpers.DataHelpers()
        cls.logger.info("Create team 'video-test' and add 1 video")

        cls.team_owner = UserFactory.create(is_partner=True)
        cls.team = TeamMemberFactory.create(user=cls.team_owner).team
        cls.manager_user = TeamMemberFactory(role="ROLE_ADMIN",
                                             team=cls.team,
                                             user=UserFactory()).user
        cls.videos_tab = videos_tab.VideosTab(cls)
        vidurl_data = {
            'url': 'http://www.youtube.com/watch?v=WqJineyEszo',
            'video__title': 'X Factor Audition - Stop Looking At My Mom Rap',
            'type': 'Y'
        }
        cls.test_video = cls.data_utils.create_video(**vidurl_data)
        cls.data_utils.add_subs(video=cls.test_video)
        TeamVideoFactory.create(team=cls.team,
                                video=cls.test_video,
                                added_by=cls.manager_user)

        videos = cls.data_utils.create_several_team_videos_with_subs(
            cls.team, cls.manager_user)
        management.call_command('update_index', interactive=False)
예제 #3
0
    def setUpClass(cls):
        super(TestCaseProjectsAddEdit, cls).setUpClass()
        management.call_command('flush', interactive=False)
        cls.data_utils = data_helpers.DataHelpers()
        cls.videos_tab = videos_tab.VideosTab(cls)
        cls.team_owner = UserFactory.create()
        cls.logger.info('setup: Creating team Video Test')
        cls.team = TeamMemberFactory.create(user=cls.team_owner).team

        cls.logger.info('setup: Adding a team with 2 projects.')
        cls.project1 = TeamProjectFactory.create(team=cls.team)
        cls.project2 = TeamProjectFactory.create(team=cls.team)

        test_videos = [
            'jaws.mp4', 'Birds_short.oggtheora.ogg', 'fireplace.mp4'
        ]
        cls.videos_list = []
        for vid in test_videos:
            video_url = 'http://qa.pculture.org/amara_tests/%s' % vid[0]
            tv = VideoUrlFactory(url=video_url, video__title=vid).video
            v = TeamVideoFactory(video=tv,
                                 team=cls.team,
                                 added_by=cls.team_owner,
                                 project=cls.project2).video
            cls.videos_list.append(v)
        management.call_command('update_index', interactive=False)

        cls.videos_tab.open_videos_tab(cls.team.slug)
        cls.videos_tab.log_in(cls.team_owner.username, 'password')

        cls.project1_page = ('teams/{0}/videos/?project={1}'.format(
            cls.team.slug, cls.project1.slug))
        cls.project2_page = ('teams/{0}/videos/?project={1}'.format(
            cls.team.slug, cls.project2.slug))
예제 #4
0
    def setUpClass(cls):
        super(TestCaseProjectsAddEdit, cls).setUpClass()
        cls.data_utils = data_helpers.DataHelpers()
        cls.videos_tab = videos_tab.VideosTab(cls)
        cls.admin = UserFactory()
        cls.manager = UserFactory()
        cls.member = UserFactory()
        cls.team = TeamFactory(admin=cls.admin,
                               manager=cls.manager,
                               member=cls.member)

        cls.project1 = ProjectFactory(team=cls.team)
        cls.project2 = ProjectFactory(team=cls.team)

        cls.project1_page = ('teams/{0}/videos/?project={1}'.format(
            cls.team.slug, cls.project1.slug))
        cls.project2_page = ('teams/{0}/videos/?project={1}'.format(
            cls.team.slug, cls.project2.slug))
        test_videos = [
            'jaws.mp4', 'Birds_short.oggtheora.ogg', 'fireplace.mp4'
        ]
        cls.videos_list = []
        for vid in test_videos:
            video_url = 'http://qa.pculture.org/amara_tests/%s' % vid[0]
            tv = VideoFactory(video_url=video_url, title=vid)
            TeamVideoFactory(video=tv, team=cls.team, project=cls.project2)
            cls.videos_list.append(tv)
        management.call_command('update_index', interactive=False)
        cls.videos_tab.open_videos_tab(cls.team)
        cls.videos_tab.log_in(cls.admin.username, 'password')
예제 #5
0
    def setUpClass(cls):
        super(TestCaseAddRemoveEdit, cls).setUpClass()

        cls.data_utils = data_helpers.DataHelpers()
        cls.logger.info("Create team and add 1 video")

        cls.team_owner = UserFactory.create()
        cls.team = TeamMemberFactory.create(user=cls.team_owner).team

        cls.manager_user = TeamMemberFactory(
            role="ROLE_ADMIN",
            team=cls.team,
            user=UserFactory(username='******')).user
        cls.videos_tab = videos_tab.VideosTab(cls)
        data = {
            'url':
            'http://www.youtube.com/watch?v=WqJineyEszo',
            'video__title': ('X Factor Audition - Stop Looking At My '
                             'Mom Rap - Brian Bradley'),
            'type':
            'Y'
        }
        cls.test_video = cls.data_utils.create_video(**data)
        cls.data_utils.add_subs(video=cls.test_video)
        TeamVideoFactory.create(team=cls.team,
                                video=cls.test_video,
                                added_by=cls.manager_user)
        management.call_command('update_index', interactive=False)
        cls.videos_tab.open_videos_tab(cls.team.slug)
예제 #6
0
    def setUpClass(cls):
        super(TestCaseFilterSort, cls).setUpClass()

        cls.data_utils = data_helpers.DataHelpers()
        cls.videos_tab = videos_tab.VideosTab(cls)

        cls.admin = UserFactory()
        cls.manager = UserFactory()
        cls.member = UserFactory()
        cls.team = TeamFactory(admin=cls.admin,
                               manager=cls.manager,
                               member=cls.member)

        cls.video = TeamVideoFactory(team=cls.team).video
        data = {
            'language_code':
            'en',
            'video':
            cls.video,
            'subtitles': ('apps/webdriver_testing/subtitle_data/'
                          'Open Source Philosophy.en.dfxp'),
            'action':
            'publish',
        }
        cls.data_utils.add_subs(**data)
        management.call_command('update_index', interactive=False)
예제 #7
0
    def test_update_project(self):
        """Edit video, add it to a team and project.

        PUT /api2/partners/videos/[video-id]/
        """

        tv = self.data_utils.create_video()
        #Create the initial video via api and get the id
        # data = { 'video_url': 'http://unisubs.example.com/newurl3.mp4',
        #'http://youtube.com/watch?v=e4MSN6IImpI',
        #             'title': 'Test video created via api',
        #             'duration': 182 }
        #url_part = 'videos/'
        #r = self.data_utils.make_request(self.user, 'post', url_part, **data)
        #response = r.json

        # vid_id = response['id']
        self.video_pg.open_video_page(tv.video_id)

        #Update the video setting the team and project and new description.
        url_part = 'videos/%s/' % tv.video_id
        new_data = {
            'team':
            self.open_team.slug,
            'project':
            self.project2.slug,
            'description': ('This is a sample vid converted to webM '
                            '720p using Miro Video Converter')
        }
        r = self.data_utils.make_request(self.user, 'put', url_part,
                                         **new_data)
        response = r.json

        #Check response metadata
        for k, v in new_data.iteritems():
            self.assertEqual(v, response[k])

        management.call_command('update_index', interactive=False)
        #Open the projects page on the site and verify video in project.
        team_videos_tab = videos_tab.VideosTab(self)
        team_videos_tab.log_in(self.user.username, 'password')
        team_videos_tab.open_videos_tab(self.open_team.slug)
        team_videos_tab.sub_lang_filter(language='All', has=False)
        team_videos_tab.project_filter(project=self.project2.name)
        team_videos_tab.update_filters()

        self.assertTrue(team_videos_tab.video_present(tv.title))
예제 #8
0
    def test_update__project(self):
        """Edit video, add it to a team and project.

        PUT /api2/partners/videos/[video-id]/
        """
        #Create the initial video via api and get the id
        url_data = {
            'video_url': ('http://qa.pculture.org/amara_tests/'
                          'Birds_short.webmsd.webm'),
            'title':
            'Test video created via api',
            'duration':
            37
        }
        url_part = 'videos/'
        s, r = self.data_utils.post_api_request(self.user, url_part, url_data)
        vid_id = r['id']
        self.video_pg.open_video_page(vid_id)

        #Update the video setting the team and project and new description.
        url_part = 'videos/%s/' % vid_id
        new_data = {
            'team':
            self.open_team.slug,
            'project':
            self.project2.slug,
            'description': ('This is a sample vid converted to webM '
                            '720p using Miro Video Converter')
        }
        status, response = self.data_utils.put_api_request(
            self.user, url_part, new_data)

        self.logger.info(response)

        #Check response metadata
        for k, v in new_data.iteritems():
            self.assertEqual(v, response[k])

        #Open the projects page on the site and verify video in project.
        team_videos_tab = videos_tab.VideosTab(self)
        team_videos_tab.log_in(self.user.username, 'password')
        team_videos_tab.open_team_project(self.open_team.slug,
                                          self.project2.slug)
        self.assertTrue(team_videos_tab.video_present(url_data['title']))
예제 #9
0
    def setUpClass(cls):
        super(TestCaseEdit, cls).setUpClass()

        cls.data_utils = data_helpers.DataHelpers()
        cls.logger.info("Create team and add 1 video")
        cls.admin = UserFactory()
        cls.manager = UserFactory()
        cls.member = UserFactory()
        cls.team = TeamFactory(admin=cls.admin,
                               manager=cls.manager,
                               member=cls.member)

        cls.video_pg = video_page.VideoPage(cls)
        cls.videos_tab = videos_tab.VideosTab(cls)
        cls.test_video = YouTubeVideoFactory(
            video_url='http://www.youtube.com/watch?v=WqJineyEszo')
        cls.data_utils.add_subs(video=cls.test_video)
        TeamVideoFactory(team=cls.team, video=cls.test_video)
        management.call_command('update_index', interactive=False)
        management.call_command('index_team_videos', cls.team.slug)
        cls.videos_tab.open_videos_tab(cls.team.slug)
예제 #10
0
    def setUpClass(cls):
        super(TestCaseProjectsFilter, cls).setUpClass()
        management.call_command('flush', interactive=False)
        cls.data_utils = data_helpers.DataHelpers()
        cls.videos_tab = videos_tab.VideosTab(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.project1 = ProjectFactory(team=cls.team)
        cls.project2 = ProjectFactory(team=cls.team)

        cls.project1_page = ('teams/{0}/videos/?project={1}'.format(
            cls.team.slug, cls.project1.slug))
        cls.project2_page = ('teams/{0}/videos/?project={1}'.format(
            cls.team.slug, cls.project2.slug))
        management.call_command('update_index', interactive=False)
예제 #11
0
    def setUpClass(cls):
        super(TestCaseVideosDisplay, cls).setUpClass()
        #management.call_command('flush', interactive=False)
        cls.data_utils = data_helpers.DataHelpers()
        cls.videos_tab = videos_tab.VideosTab(cls)
        cls.tasks_tab = TasksTab(cls)

        cls.logger.info('Creating team limited access: workflows enabled, '
                        'video policy set to manager and admin, '
                        'task assign policy set to manager and admin, '
                        'membership policy open.')

        cls.admin = UserFactory()
        cls.manager = UserFactory()
        cls.member = UserFactory()
        cls.team = TeamFactory(
            admin=cls.admin,
            manager=cls.manager,
            member=cls.member,
            workflow_enabled=True,
            membership_policy=4,  #open
            video_policy=2,  #manager and admin
            task_assign_policy=20,  #manager and admin
        )

        cls.en_manager = TeamMemberFactory(role="ROLE_MANAGER",
                                           team=cls.team,
                                           user=UserFactory())
        TeamManagerLanguageFactory(member=cls.en_manager, language='en')

        cls.project1 = ProjectFactory(team=cls.team)
        cls.project2 = ProjectFactory(team=cls.team)

        cls.project1_page = ('teams/{0}/videos/?project={1}'.format(
            cls.team.slug, cls.project1.slug))
        cls.project2_page = ('teams/{0}/videos/?project={1}'.format(
            cls.team.slug, cls.project2.slug))
        management.call_command('update_index', interactive=False)
        cls.videos_tab.open_videos_tab(cls.team.slug)
        cls.videos_tab.log_in(cls.admin.username, 'password')
예제 #12
0
    def setUpClass(cls):
        super(TestCaseVideosDisplay, cls).setUpClass()
        #management.call_command('flush', interactive=False)
        cls.data_utils = data_helpers.DataHelpers()
        cls.videos_tab = videos_tab.VideosTab(cls)
        cls.tasks_tab = TasksTab(cls)

        cls.team_owner = UserFactory.create()

        cls.logger.info('Creating team limited access: workflows enabled, '
                        'video policy set to manager and admin, '
                        'task assign policy set to manager and admin, '
                        'membership policy open.')
        cls.limited_access_team = TeamMemberFactory.create(
            team__membership_policy=4,  #open
            team__video_policy=2,  #manager and admin
            team__task_assign_policy=20,  #manager and admin
            team__workflow_enabled=True,
            user=cls.team_owner,
        ).team

        cls.videos_tab.open_page(cls.limited_access_team.slug)
예제 #13
0
    def setUpClass(cls):
        super(TestCaseSearch, cls).setUpClass()
        #management.call_command('flush', interactive=False)

        cls.data_utils = data_helpers.DataHelpers()
        cls.logger.info("Create team 'video-test' and add 1 video")

        cls.team_owner = UserFactory.create(is_partner=True)
        cls.team = TeamMemberFactory.create(user=cls.team_owner).team
        cls.manager_user = TeamMemberFactory(role="ROLE_ADMIN",
                                             team=cls.team,
                                             user=UserFactory()).user
        cls.videos_tab = videos_tab.VideosTab(cls)

        data = {
            'url':
            'http://www.youtube.com/watch?v=WqJineyEszo',
            'video__title': ('X Factor Audition - Stop Looking At My '
                             'Mom Rap - Brian Bradley'),
            'type':
            'Y'
        }
        cls.test_video = cls.data_utils.create_video(**data)
        subs_data = {
            'language_code':
            'en',
            'subtitles': ('apps/webdriver_testing/subtitle_data/'
                          'Timed_text.en.srt'),
            'complete':
            True,
            'video':
            cls.test_video
        }
        cls.data_utils.add_subs(**subs_data)
        TeamVideoFactory.create(team=cls.team,
                                video=cls.test_video,
                                added_by=cls.manager_user)

        management.call_command('update_index', interactive=False)
예제 #14
0
    def setUpClass(cls):
        super(TestCaseSearch, cls).setUpClass()
        cls.data_utils = data_helpers.DataHelpers()
        cls.admin = UserFactory()
        cls.manager = UserFactory()
        cls.member = UserFactory()
        cls.team = TeamFactory(admin=cls.admin,
                               manager=cls.manager,
                               member=cls.member)

        cls.videos_tab = videos_tab.VideosTab(cls)

        cls.test_video = YouTubeVideoFactory()
        pipeline.add_subtitles(cls.test_video,
                               'en',
                               SubtitleSetFactory(),
                               action='publish')
        TeamVideoFactory(team=cls.team,
                         video=cls.test_video,
                         added_by=cls.manager)

        management.call_command('update_index', interactive=False)