]> jfr.im git - yt-dlp.git/blob - test/conftest.py
Release 2024.04.09
[yt-dlp.git] / test / conftest.py
1 import functools
2 import inspect
3
4 import pytest
5
6 from yt_dlp.networking import RequestHandler
7 from yt_dlp.networking.common import _REQUEST_HANDLERS
8 from yt_dlp.utils._utils import _YDLLogger as FakeLogger
9
10
11 @pytest.fixture
12 def handler(request):
13 RH_KEY = request.param
14 if inspect.isclass(RH_KEY) and issubclass(RH_KEY, RequestHandler):
15 handler = RH_KEY
16 elif RH_KEY in _REQUEST_HANDLERS:
17 handler = _REQUEST_HANDLERS[RH_KEY]
18 else:
19 pytest.skip(f'{RH_KEY} request handler is not available')
20
21 return functools.partial(handler, logger=FakeLogger)
22
23
24 def validate_and_send(rh, req):
25 rh.validate(req)
26 return rh.send(req)