예제 #1
0
    def test_extract_content_assignment_direct(self, es_mock, filter_content,
                                               make_title, make_dir_path):
        post = mock_objects.get_mock_post_gfycat()
        post.url += '.webm'
        ge = GfycatExtractor(post)
        ge.extract_content()

        es_mock.assert_called()
예제 #2
0
    def test_failed_connection(self, es_mock, filter_content, make_title,
                               make_dir_path):
        es_mock.side_effect = ConnectionError()
        post = mock_objects.get_mock_post_gfycat()

        ge = GfycatExtractor(post)
        ge.extract_content()

        self.assertTrue(ge.failed_extraction)
        self.assertIsNotNone(ge.failed_extraction_message)
예제 #3
0
    def test_direct_extraction(self, filter_content, make_title,
                               make_dir_path):
        post = mock_objects.get_mock_post_gfycat_direct(session=self.session)
        filter_content.return_value = True
        make_title.return_value = post.title
        make_dir_path.return_value = 'content_dir_path'

        ge = GfycatExtractor(post)
        ge.extract_direct_link()
        self.check_output(ge, post.url, post)
예제 #4
0
    def test_redgifs(self, get_json, filter_content, make_title,
                     make_dir_path):
        filter_content.return_value = True
        post = mock_objects.get_mock_post_gfycat(session=self.session)
        post.url = 'https://www.redgifs.com/watch/decisivecleanfallowdeer'
        expected_output = 'https://thumbs2.redgifs.com/DecisiveCleanFallowdeer.mp4'

        get_json.return_value = {'gfyItem': {'webmUrl': expected_output}}

        make_title.return_value = post.title
        make_dir_path.return_value = 'content_dir_path'

        ge = GfycatExtractor(post)
        ge.extract_content()
        self.check_output(ge, expected_output, post)
예제 #5
0
    def test_extract_single_untagged(self, get, filter_content, make_title,
                                     make_dir_path):
        dir_url = 'https://giant.gfycat.com/KindlyElderlyCony.webm'
        mock_response = MagicMock()
        mock_response.status_code = 200
        mock_response.headers = {'Content-Type': 'json'}
        mock_response.json.return_value = {'gfyItem': {'webmUrl': dir_url}}
        get.return_value = mock_response

        post = mock_objects.get_mock_post_gfycat(session=self.session)
        make_title.return_value = post.title
        make_dir_path.return_value = 'content_dir_path'

        ge = GfycatExtractor(post)
        ge.extract_single()
        get.assert_called_with(
            'https://api.gfycat.com/v1/gfycats/KindlyElderlyCony', timeout=10)
        self.check_output(ge, dir_url, post)
예제 #6
0
 def test_extract_content_assignment_single(self, es_mock, filter_content,
                                            make_title, make_dir_path):
     ge = GfycatExtractor(mock_objects.get_mock_post_gfycat())
     ge.extract_content()
     es_mock.assert_called()