1
0
Fork 0
mirror of synced 2024-09-13 15:57:57 +12:00
bulk-downloader-for-reddit/bulkredditdownloader/tests/downloaders/test_base_downloader.py

31 lines
929 B
Python
Raw Normal View History

2021-02-11 12:10:40 +13:00
#!/usr/bin/env python3
2021-02-07 19:38:30 +13:00
# coding=utf-8
from pathlib import Path
2021-02-11 12:10:40 +13:00
from unittest.mock import Mock
2021-02-07 19:38:30 +13:00
import pytest
2021-02-11 12:10:40 +13:00
from bulkredditdownloader.resource import Resource
2021-02-07 20:08:24 +13:00
from bulkredditdownloader.site_downloaders.base_downloader import BaseDownloader
2021-02-07 19:38:30 +13:00
2021-02-11 12:10:40 +13:00
class BlankDownloader(BaseDownloader):
def __init__(self, directory, post):
super().__init__(directory, post)
def download(self) -> list[Resource]:
return [self._download_resource(self.post.url)]
@pytest.mark.parametrize(('test_url', 'expected_hash'), (
('https://docs.python.org/3/_static/py.png', 'a721fc7ec672275e257bbbfde49a4d4e'),
))
def test_get_resource(test_url: str, expected_hash: str):
mock_submission = Mock
mock_submission.url = test_url
downloader = BlankDownloader(Path('.'), mock_submission)
result = downloader.download()
assert isinstance(result[0], Resource)
assert result[0].hash.hexdigest() == expected_hash