mirror of
https://github.com/nathom/streamrip.git
synced 2025-06-03 00:30:07 -04:00
Update
This commit is contained in:
parent
36fd27c83c
commit
7cbd77edc5
13 changed files with 845 additions and 641 deletions
41
tests/test_config_toml_match.py
Normal file
41
tests/test_config_toml_match.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
import pytest
|
||||
import tomlkit
|
||||
|
||||
from streamrip.config import *
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def toml():
|
||||
with open("streamrip/config.toml") as f:
|
||||
t = tomlkit.parse(f.read())
|
||||
return t
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def config():
|
||||
return ConfigData.defaults()
|
||||
|
||||
|
||||
def test_toml_subset_of_py(toml, config):
|
||||
"""Test that all keys in the TOML file are in the config classes."""
|
||||
for k, v in toml.items():
|
||||
if k in config.__slots__:
|
||||
if isinstance(v, TOMLDocument):
|
||||
test_toml_subset_of_py(v, getattr(config, k))
|
||||
else:
|
||||
raise Exception(f"{k} not in {config.__slots__}")
|
||||
|
||||
|
||||
exclude = {"toml", "_modified"}
|
||||
|
||||
|
||||
def test_py_subset_of_toml(toml, config):
|
||||
"""Test that all keys in the python classes are in the TOML file."""
|
||||
for item in config.__slots__:
|
||||
if item in exclude:
|
||||
continue
|
||||
if item in toml:
|
||||
if "Config" in item.__class__.__name__:
|
||||
test_py_subset_of_toml(toml[item], getattr(config, item))
|
||||
else:
|
||||
raise Exception(f"Config field {item} not in {list(toml.keys())}")
|
71
tests/test_covers.py
Normal file
71
tests/test_covers.py
Normal file
|
@ -0,0 +1,71 @@
|
|||
import pytest
|
||||
|
||||
from streamrip.metadata import Covers
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def covers_all():
|
||||
c = Covers()
|
||||
c.set_cover("original", "ourl", None)
|
||||
c.set_cover("large", "lurl", None)
|
||||
c.set_cover("small", "surl", None)
|
||||
c.set_cover("thumbnail", "turl", None)
|
||||
|
||||
return c
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def covers_none():
|
||||
return Covers()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def covers_one():
|
||||
c = Covers()
|
||||
c.set_cover("small", "surl", None)
|
||||
return c
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def covers_some():
|
||||
c = Covers()
|
||||
c.set_cover("large", "lurl", None)
|
||||
c.set_cover("small", "surl", None)
|
||||
return c
|
||||
|
||||
|
||||
def test_covers_all(covers_all):
|
||||
assert covers_all._covers == [
|
||||
("original", "ourl", None),
|
||||
("large", "lurl", None),
|
||||
("small", "surl", None),
|
||||
("thumbnail", "turl", None),
|
||||
]
|
||||
assert covers_all.largest() == ("original", "ourl", None)
|
||||
assert covers_all.get_size("original") == ("original", "ourl", None)
|
||||
assert covers_all.get_size("thumbnail") == ("thumbnail", "turl", None)
|
||||
|
||||
|
||||
def test_covers_none(covers_none):
|
||||
assert covers_none.empty()
|
||||
with pytest.raises(Exception):
|
||||
covers_none.largest()
|
||||
with pytest.raises(Exception):
|
||||
covers_none.get_size("original")
|
||||
|
||||
|
||||
def test_covers_one(covers_one):
|
||||
assert not covers_one.empty()
|
||||
assert covers_one.largest() == ("small", "surl", None)
|
||||
assert covers_one.get_size("original") == ("small", "surl", None)
|
||||
with pytest.raises(Exception):
|
||||
covers_one.get_size("thumbnail")
|
||||
|
||||
|
||||
def test_covers_some(covers_some):
|
||||
assert not covers_some.empty()
|
||||
assert covers_some.largest() == ("large", "lurl", None)
|
||||
assert covers_some.get_size("original") == ("large", "lurl", None)
|
||||
assert covers_some.get_size("small") == ("small", "surl", None)
|
||||
with pytest.raises(Exception):
|
||||
covers_some.get_size("thumbnail")
|
17
tests/util.py
Normal file
17
tests/util.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
import asyncio
|
||||
|
||||
loop = asyncio.new_event_loop()
|
||||
|
||||
|
||||
def arun(coro):
|
||||
return loop.run_until_complete(coro)
|
||||
|
||||
|
||||
def afor(async_gen):
|
||||
async def _afor(async_gen):
|
||||
l = []
|
||||
async for item in async_gen:
|
||||
l.append(item)
|
||||
return l
|
||||
|
||||
return arun(_afor(async_gen))
|
Loading…
Add table
Add a link
Reference in a new issue