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):
|
2021-02-15 18:12:27 +13:00
|
|
|
def __init__(self, post):
|
|
|
|
super().__init__(post)
|
2021-02-11 12:10:40 +13:00
|
|
|
|
|
|
|
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
|
2021-02-15 18:12:27 +13:00
|
|
|
downloader = BlankDownloader(mock_submission)
|
2021-02-11 12:10:40 +13:00
|
|
|
result = downloader.download()
|
|
|
|
assert isinstance(result[0], Resource)
|
|
|
|
assert result[0].hash.hexdigest() == expected_hash
|