Пример #1
0
 def test_already_added(self):
     video_url = self.video.add_url(MockVideoType(self.new_url), self.user)
     num_video_urls_before_call = VideoUrl.objects.count()
     with assert_raises(Video.UrlAlreadyAdded) as cm:
         video_url = self.video.add_url(MockVideoType(self.new_url),
                                        self.user)
     assert_equal(cm.exception.video, self.video)
     assert_equal(cm.exception.video_url, video_url)
     assert_equal(VideoUrl.objects.count(), num_video_urls_before_call)
Пример #2
0
    def test_title_from_url(self):
        # As a fallback, we should use the video URL to set the title
        video, video_url = Video.add(MockVideoType(self.url), self.user)
        assert_equal(video.title, 'example.com/.../video.mp4')
        # but not if title is set manually
        video.delete()

        def setup_callback(video, video_url):
            video.title = 'test title'

        video, video_url = Video.add(MockVideoType(self.url), self.user,
                                     setup_callback)
        assert_equal(video.title, 'test title')
Пример #3
0
 def test_add_video(self):
     # test the simple case of creating a new video
     video, video_url = Video.add(MockVideoType(self.url), self.user)
     assert_equal(video.get_video_url(), self.url)
     assert_equal(video_url.primary, True)
     assert_equal(video_url.added_by, self.user)
     assert_equal(video_url.type, MockVideoType.abbreviation)
     assert_equal(video.user, self.user)
Пример #4
0
 def test_signal(self, on_video_url_added):
     video_url = self.video.add_url(MockVideoType(self.new_url), self.user)
     assert_equal(on_video_url_added.call_count, 1)
     assert_equal(
         on_video_url_added.call_args,
         mock.call(signal=signals.video_url_added,
                   sender=video_url,
                   video=self.video,
                   new_video=False))
Пример #5
0
 def test_attributes_from_video_url(self):
     # Video.add() should set attributes on the video from the VideoType
     mock_video_type = MockVideoType(self.url,
                                     title='vurl title',
                                     duration=100)
     mock_video_type.owner_username.return_value = 'test-user'
     video, video_url = Video.add(mock_video_type, self.user)
     assert_equal(video.title, 'vurl title')
     assert_equal(video.duration, 100)
     assert_equal(video_url.videoid, mock_video_type.video_id)
Пример #6
0
    def test_setup_callback(self):
        # Test the setup_callback param
        def setup_callback(video, video_url):
            video.title = 'setup_callback title'

        video, video_url = Video.add(MockVideoType(self.url), self.user,
                                     setup_callback)
        assert_equal(video.title, 'setup_callback title')
        # check that we saved the data to the DB
        assert_equal(
            test_utils.reload_obj(video).title, 'setup_callback title')
Пример #7
0
    def test_exception_in_setup_callback(self):
        # If setup_callback throws an exception, we shouldn't create any
        # video/video_url objects
        num_videos_before_call = Video.objects.count()
        num_video_urls_before_call = VideoUrl.objects.count()
        url = 'http://example.com/video.mp4'
        with assert_raises(ValueError):
            Video.add(MockVideoType(url), UserFactory(),
                      mock.Mock(side_effect=ValueError()))

        assert_equal(Video.objects.count(), num_videos_before_call)
        assert_equal(VideoUrl.objects.count(), num_video_urls_before_call)
Пример #8
0
    def test_signals(self, on_video_url_added, on_video_added):
        def setup_callback(video, video_url):
            assert_equal(on_video_added.call_count, 0)
            assert_equal(on_video_url_added.call_count, 0)

        video, video_url = Video.add(MockVideoType(self.url), self.user,
                                     setup_callback)
        assert_equal(on_video_added.call_count, 1)
        assert_equal(
            on_video_added.call_args,
            mock.call(signal=signals.video_added,
                      sender=video,
                      video_url=video_url))
        assert_equal(on_video_url_added.call_count, 1)
        assert_equal(
            on_video_url_added.call_args,
            mock.call(signal=signals.video_url_added,
                      sender=video_url,
                      video=video,
                      new_video=True))
Пример #9
0
 def test_set_values_not_called(self):
     # since this is not the first VideoURL being added, we don't want to
     # call VideoType.set_values() and override the video attributes.
     video_url = self.video.add_url(
         MockVideoType(self.new_url, title='new title'), self.user)
     assert_not_equal(self.video.title, 'new title')
Пример #10
0
 def test_convert_video_url(self):
     converted_url = 'http://example.com/video2-converted.mp4'
     video_url = self.video.add_url(MockVideoType(converted_url), self.user)
     assert_equal(video_url.url, converted_url)
Пример #11
0
 def test_add_url(self):
     video_url = self.video.add_url(MockVideoType(self.new_url), self.user)
     assert_equal(video_url.url, self.new_url)
     assert_equal(video_url.video, self.video)
     assert_equal(video_url.primary, False)
Пример #12
0
 def test_notify_by_message_false(self):
     self.user.notify_by_message = False
     video, video_url = Video.add(MockVideoType(self.url), self.user)
     assert_false(video.followers.filter(id=self.user.id).exists())
Пример #13
0
 def test_convert_video_url(self):
     # We should allow the VideoType to alter the URL using the
     # convert_to_video_url() method.
     new_url = 'http://example.com/new_url.mp4'
     video, video_url = Video.add(MockVideoType(new_url), self.user)
     assert_equal(video_url.url, new_url)
Пример #14
0
 def test_null_videoid(self):
     # Test VideoType.video_id being None
     mock_video_type = MockVideoType(self.url)
     mock_video_type.video_id = None
     video, video_url = Video.add(mock_video_type, self.user)
     assert_equal(video_url.videoid, '')