1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/usr/bin/env python3
- # coding=utf-8
- from unittest.mock import Mock
- import pytest
- from bdfr.resource import Resource
- from bdfr.site_downloaders.vidble import Vidble
- @pytest.mark.parametrize(('test_url', 'expected'), (
- ('/RDFbznUvcN_med.jpg', '/RDFbznUvcN.jpg'),
- ))
- def test_change_med_url(test_url: str, expected: str):
- result = Vidble.change_med_url(test_url)
- assert result == expected
- @pytest.mark.online
- @pytest.mark.parametrize(('test_url', 'expected'), (
- ('https://www.vidble.com/show/UxsvAssYe5', {
- 'https://www.vidble.com/UxsvAssYe5.gif',
- }),
- ('https://vidble.com/show/RDFbznUvcN', {
- 'https://www.vidble.com/RDFbznUvcN.jpg',
- }),
- ('https://vidble.com/album/h0jTLs6B', {
- 'https://www.vidble.com/XG4eAoJ5JZ.jpg',
- 'https://www.vidble.com/IqF5UdH6Uq.jpg',
- 'https://www.vidble.com/VWuNsnLJMD.jpg',
- 'https://www.vidble.com/sMmM8O650W.jpg',
- }),
- ('https://www.vidble.com/pHuwWkOcEb', {
- 'https://www.vidble.com/pHuwWkOcEb.jpg',
- }),
- ))
- def test_get_links(test_url: str, expected: set[str]):
- results = Vidble.get_links(test_url)
- assert results == expected
- @pytest.mark.online
- @pytest.mark.parametrize(('test_url', 'expected_hashes'), (
- ('https://www.vidble.com/show/UxsvAssYe5', {
- '0ef2f8e0e0b45936d2fb3e6fbdf67e28',
- }),
- ('https://vidble.com/show/RDFbznUvcN', {
- 'c2dd30a71e32369c50eed86f86efff58',
- }),
- ('https://vidble.com/album/h0jTLs6B', {
- '3b3cba02e01c91f9858a95240b942c71',
- 'dd6ecf5fc9e936f9fb614eb6a0537f99',
- 'b31a942cd8cdda218ed547bbc04c3a27',
- '6f77c570b451eef4222804bd52267481',
- }),
- ('https://www.vidble.com/pHuwWkOcEb', {
- '585f486dd0b2f23a57bddbd5bf185bc7',
- }),
- ))
- def test_find_resources(test_url: str, expected_hashes: set[str]):
- mock_download = Mock()
- mock_download.url = test_url
- downloader = Vidble(mock_download)
- results = downloader.find_resources()
- assert all([isinstance(res, Resource) for res in results])
- [res.download() for res in results]
- hashes = set([res.hash.hexdigest() for res in results])
- assert hashes == set(expected_hashes)
|