def test_extract_direct_unknown_ext(self, ): post = MockObjects.get_generic_mock_post() post.url = 'https://i.imgur.com/fb2yRj0.foo' ie = ImgurExtractor(post, MockObjects.get_blank_user()) ie.extract_direct_link() failed_post = ie.failed_extract_posts[0] self.assertTrue('Unrecognized extension' in failed_post.status)
def test_extract_content_assignment_direct(self, ex_mock): post = MockObjects.get_generic_mock_post() post.url = 'https://imgur.com/fb2yRj0.jpg' ie = ImgurExtractor(post, MockObjects.get_blank_user()) ie.extract_content() ex_mock.assert_called()
def test_extract_question(self): post = MockObjects.get_generic_mock_post() post.url = 'https://imgur.com/fb2yRj0.jpg?1' ie = ImgurExtractor(post, MockObjects.get_blank_user()) ie.extract_direct_link() content = ie.extracted_content[0] self.assertEqual('https://imgur.com/fb2yRj0.jpg', content.url)
def test_unsupported_domain(self): user = MockObjects.get_blank_user() ex = Extractor(user) post = MockObjects.get_generic_mock_post() post.url = 'https://invalid-url.com/a/34ndkoij' ex.extract(post) failed_post = user.failed_extracts[0] self.assertTrue( failed_post.status.startswith( 'Failed to extract post: Url domain not supported'))
def test_extract_direct_link(self): link = 'https://unsupported_site.com/image/3jfd9nlksd.jpg' post = MockObjects.get_generic_mock_post() post.url = link de = DirectExtractor(post, MockObjects.get_blank_user()) de.extract_content() content = de.extracted_content[0] self.assertEqual(link, content.url) self.assertEqual('Picture(s)', content.post_title) self.assertEqual('Pics', content.subreddit) self.assertEqual(1521473630, content.date_created) self.assertEqual('C:/Users/Gorgoth/Downloads/JohnEveryman/3jfd9nlksd.jpg', content.filename)
def test_extract_direct_gif(self): post = MockObjects.get_generic_mock_post() post.url = 'https://i.imgur.com/mOlfhY3.gif' ie = ImgurExtractor(post, MockObjects.get_blank_user()) ie.extract_direct_link() content = ie.extracted_content[0] self.assertEqual('https://i.imgur.com/mOlfhY3.mp4', content.url) self.assertEqual('Picture(s)', content.post_title) self.assertEqual('Pics', content.subreddit) self.assertEqual('.mp4', content.file_ext) self.assertEqual(1521473630, content.date_created) self.assertEqual('C:/Users/Gorgoth/Downloads/JohnEveryman/mOlfhY3.mp4', content.make_filename()) self.assertTrue(len(ie.failed_extract_posts) == 0)
def test_extract_single(self, img_mock): post = MockObjects.get_generic_mock_post() post.url = 'https://imgur.com/fb2yRj0' img_mock.return_value = 'https://i.imgur.com/fb2yRj0.jpg' ie = ImgurExtractor(post, MockObjects.get_blank_user()) ie.extract_single() content = ie.extracted_content[0] img_mock.assert_called_with('fb2yRj0') self.assertEqual(self.url_extract_dict['SINGLE'], content.url) self.assertEqual('Picture(s)', content.post_title) self.assertEqual('Pics', content.subreddit) self.assertEqual(1521473630, content.date_created) self.assertEqual('C:/Users/Gorgoth/Downloads/JohnEveryman/fb2yRj0.jpg', content.make_filename()) self.assertTrue(len(ie.failed_extract_posts) == 0)
def get_album_post(self): post = MockObjects.get_generic_mock_post() post.url = self.url_host_dict['ALBUM'] return post
def get_single_post(self): post = MockObjects.get_generic_mock_post() post.url = self.url_host_dict['SINGLE'] return post
def get_direct_post_mislinked_unknown_ext(self): post = MockObjects.get_generic_mock_post() url = self.url_host_dict['SINGLE'] post.url = url + '.foo' return post
def get_direct_post_mislinked_gif(self): post = MockObjects.get_generic_mock_post() post.url = self.url_host_dict['SINGLE'] + 'gif.gifv' return post
def get_direct_post_unknown_ext(self): post = MockObjects.get_generic_mock_post() url = self.url_extract_dict['SINGLE'].rsplit('.', 1)[0] post.url = '%s.foo' % url return post
def get_direct_post_gif(self): post = MockObjects.get_generic_mock_post() post.url = self.make_gif_url(self.url_extract_dict['SINGLE']) return post