mirror of https://github.com/scrapy/scrapy.git
Fix no-reactor test issue
This commit is contained in:
parent
8e244b048a
commit
3aab6cf7f2
|
|
@ -1,21 +1,25 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import re
|
import re
|
||||||
from typing import Any
|
from typing import TYPE_CHECKING, cast
|
||||||
|
|
||||||
from twisted.web.test.requesthelper import DummyRequest
|
|
||||||
|
|
||||||
from scrapy.utils.benchserver import Root, _getarg
|
from scrapy.utils.benchserver import Root, _getarg
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from twisted.web.server import Request
|
||||||
|
|
||||||
def _request(**args: bytes) -> Any:
|
|
||||||
request = DummyRequest([b""])
|
class _Request:
|
||||||
request.args = {name.encode(): [value] for name, value in args.items()}
|
def __init__(self, **args: bytes) -> None:
|
||||||
return request
|
self.args = {name.encode(): [value] for name, value in args.items()}
|
||||||
|
self.written: list[bytes] = []
|
||||||
|
|
||||||
|
def write(self, data: bytes) -> None:
|
||||||
|
self.written.append(data)
|
||||||
|
|
||||||
|
|
||||||
def test_getarg() -> None:
|
def test_getarg() -> None:
|
||||||
request = _request(total=b"5")
|
request = cast("Request", _Request(total=b"5"))
|
||||||
assert _getarg(request, b"total", 100, int) == 5
|
assert _getarg(request, b"total", 100, int) == 5
|
||||||
assert _getarg(request, b"show", 100, int) == 100
|
assert _getarg(request, b"show", 100, int) == 100
|
||||||
assert _getarg(request, b"missing") is None
|
assert _getarg(request, b"missing") is None
|
||||||
|
|
@ -23,9 +27,9 @@ def test_getarg() -> None:
|
||||||
|
|
||||||
def test_render() -> None:
|
def test_render() -> None:
|
||||||
root = Root() # type: ignore[no-untyped-call]
|
root = Root() # type: ignore[no-untyped-call]
|
||||||
request = _request(total=b"5", show=b"2")
|
request = _Request(total=b"5", show=b"2")
|
||||||
assert root.getChild("follow", request) is root
|
assert root.getChild("follow", cast("Request", request)) is root
|
||||||
assert root.render(request) == b""
|
assert root.render(cast("Request", request)) == b""
|
||||||
body = b"".join(request.written).decode()
|
body = b"".join(request.written).decode()
|
||||||
assert body.startswith("<html><head></head><body>")
|
assert body.startswith("<html><head></head><body>")
|
||||||
assert body.endswith("</body></html>")
|
assert body.endswith("</body></html>")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue