1
0
Fork 0
mirror of synced 2024-06-14 08:14:42 +12:00
bulk-downloader-for-reddit/bulkredditdownloader/tests/downloaders/test_erome.py

54 lines
2.1 KiB
Python
Raw Normal View History

2021-02-27 13:35:43 +13:00
#!/usr/bin/env python3
# coding=utf-8
2021-03-17 19:10:36 +13:00
from unittest.mock import MagicMock
2021-02-27 13:35:43 +13:00
import pytest
from bulkredditdownloader.site_downloaders.erome import Erome
@pytest.mark.online
@pytest.mark.parametrize(('test_url', 'expected_urls'), (
2021-03-17 19:10:36 +13:00
('https://www.erome.com/a/vqtPuLXh', (
'https://s6.erome.com/365/vqtPuLXh/KH2qBT99.jpg',
'https://s6.erome.com/365/vqtPuLXh/KH2qBT99_480p.mp4',
)
2021-02-27 13:35:43 +13:00
),
('https://www.erome.com/a/ORhX0FZz',
('https://s4.erome.com/355/ORhX0FZz/9IYQocM9.jpg',
'https://s4.erome.com/355/ORhX0FZz/9IYQocM9_480p.mp4',
'https://s4.erome.com/355/ORhX0FZz/9eEDc8xm.jpg',
'https://s4.erome.com/355/ORhX0FZz/9eEDc8xm_480p.mp4',
'https://s4.erome.com/355/ORhX0FZz/EvApC7Rp.jpg',
'https://s4.erome.com/355/ORhX0FZz/EvApC7Rp_480p.mp4',
'https://s4.erome.com/355/ORhX0FZz/LruobtMs.jpg',
'https://s4.erome.com/355/ORhX0FZz/LruobtMs_480p.mp4',
'https://s4.erome.com/355/ORhX0FZz/TJNmSUU5.jpg',
'https://s4.erome.com/355/ORhX0FZz/TJNmSUU5_480p.mp4',
'https://s4.erome.com/355/ORhX0FZz/X11Skh6Z.jpg',
'https://s4.erome.com/355/ORhX0FZz/X11Skh6Z_480p.mp4',
'https://s4.erome.com/355/ORhX0FZz/bjlTkpn7.jpg',
'https://s4.erome.com/355/ORhX0FZz/bjlTkpn7_480p.mp4')
),
))
def test_get_link(test_url: str, expected_urls: tuple[str]):
result = Erome. _get_links(test_url)
assert set(result) == set(expected_urls)
@pytest.mark.online
@pytest.mark.slow
@pytest.mark.parametrize(('test_url', 'expected_number_of_resources', 'expected_hashes'), (
2021-03-17 19:10:36 +13:00
('https://www.erome.com/a/vqtPuLXh', 2, ('5da2a8d60d87bed279431fdec8e7d72f', '243d17b52a728911b022829badbc524e')),
2021-02-27 13:35:43 +13:00
))
def test_download_resource(test_url: str, expected_number_of_resources: int, expected_hashes: tuple[str]):
2021-03-17 19:10:36 +13:00
mock_submission = MagicMock()
2021-02-27 13:35:43 +13:00
mock_submission.url = test_url
test_site = Erome(mock_submission)
resources = test_site.find_resources()
assert len(resources) == expected_number_of_resources
[res.download() for res in resources]
resource_hashes = [res.hash.hexdigest() for res in resources]
assert set(resource_hashes) == set(expected_hashes)