Andrey Rakhmatullin
fc14a0ce59
Enable mypy warn_return_any. ( #7492 )
2026-05-04 22:24:47 +02:00
Andrey Rakhmatullin
11977afba5
Rename async test decorators. ( #7234 )
2026-02-02 20:39:43 +01:00
Andrey Rakhmatullin
3186ccf5d5
Reactorless tests 1: the test env ( #6952 )
...
* Reactorless tests.
* Updates after merging master.
* Update a new import.
* Updates after merging master.
* Update testenv:no-reactor-pinned.
* Foundations for the reactorless mode.
* Fixes after merging master.
* Updates after merging reactorless-base.
* Add simple subprocess tests for reactorless AsyncCrawler*.
* More reactorless tests.
* Refactor AsyncCrawlerProcess.start().
* More checks.
* Fix test_reactorless_import_hook.
* More tests.
* Call install_reactor() before asyncio.run().
* Cleanup.
* Rephrase.
* Fix a test.
* Fixes.
* Rephrasing.
* Set TELNETCONSOLE_ENABLED=False in the reactorless mode.
* Fix a new import.
* Clarify --reactor marks.
* Cleanup.
* More docs/comments.
* Update test_fallback_workflow().
* Update TestDeferredFFromCoroF.
* Typing improvements.
2026-02-02 19:25:30 +05:00
Andrey Rakhmatullin
2347138ba4
Unified download handler exceptions ( #7208 )
...
* Add DownloadTimeoutError.
* Don't expect ConnectionAborted in tests.
* Add DownloadCancelledError.
* Add ResponseDataLoss.
* Add more download handler tests.
* Add DownloadConnectionRefusedError.
* Add UnsupportedURLScheme.
* Add CannotResolveHostError.
* Add DownloadFailedError.
* Remove wrapped Twisted exceptions from lists.
* Update a test expectation.
* Extract wrap_twisted_exceptions().
* Wrap TxTimeoutError.
* Rename ResponseDataLoss and UnsupportedURLScheme.
2026-01-21 23:09:54 +05:00
Andrey Rakhmatullin
2ad81a0ef8
Deprecate the spider arg of downloader middleware methods. ( #7037 )
...
* Deprecate the spider arg of downloader middleware methods.
* Add a test for deprecated spider args in downloader mws.
2025-09-02 21:51:47 +05:00
Andrey Rakhmatullin
edba1ad572
Refactor RobotsTxtMiddleware to use async def process_request(). ( #6802 )
2025-08-18 18:40:46 +02:00
Andrey Rakhmatullin
d3e15a10cf
Add ItemPipelineManager.process_item_async() and ensure_awaitable(). ( #7005 )
...
* Add ItemPipelineManager.process_item_async() and ensure_awaitable().
* Wording.
2025-08-12 19:57:37 +05:00
Felipe Benevolo
89f53f0555
Added download_async() to ExecutionEngine and test cases for download() and download_async() ( #6842 )
...
* added async_download()
* add case tests for ExecutionEngine download() and async_download()
* change async_download() to download_async() in Engine class and subsequent tests
* fixed reactor import in test_engine.py
* Simplify TestEngineDownloadAsync.
* replaced tearDown by self.engine.downloader.close in test_engine.py and replace @defer.inlineCallbacks by @inlineCallbacks
* Simplify ExecutionEngine.download().
* Remove an unneeded import.
* Refactor ExecutionEngine.download{,_async}() tests.
* Deprecate ExecutionEngine.download().
* Update doc examples to use download_async().
* Replace uses of download() with download_async().
* Fix test_downloadermiddleware_robotstxt.py.
* Remove a stray file.
---------
Co-authored-by: Andrey Rakhmatullin <wrar@wrar.name>
2025-07-27 23:17:51 +05:00
Andrey Rakhmatullin
6b2997af90
Migrate to pytest-twisted ( #6938 )
...
* Migrate to pytest-twisted (WIP)
* Some typing fixes.
* Make --reactor=asyncio the default again.
* Try installing the correct event loop policy in tests on Windows.
* Make reactor_pytest a normal fixture.
* Fix test warnings.
* Fix FTPDownloadHandler teardown.
* Cleanups, typing.
* More cleanup.
* Update only_asyncio/only_not_asyncio mark messages.
2025-07-06 21:27:17 +05:00
Andrey Rakhmatullin
b4d11b8b25
Further reduce deps on unittest. ( #6884 )
2025-06-11 01:28:09 +02:00
Andrey Rakhmatullin
d825133284
Reduce deps on unittest, unify inlineCallbacks imports in tests. ( #6873 )
2025-06-06 22:59:09 +02:00
Andrey Rakhmatullin
916fe50974
Fix and ban the top-level twisted.internet.reactor imports. ( #6835 )
2025-05-28 15:53:52 +05:00
Andrey Rakhmatullin
9f99da8f86
Convert test_downloadermiddleware_robotstxt.py from callbacks to awaits. ( #6743 )
2025-03-24 09:26:25 +01:00
Andrey Rakhmatullin
eb654aa1a8
Convert remaining unittest assert* calls, use the tmp_path fixture. ( #6725 )
2025-03-11 18:00:36 +01:00
Andrey Rakhmatullin
1843a4f753
Converting tests to plain asserts, part 3. ( #6700 )
2025-03-06 20:50:14 +01:00
Andrey Rakhmatullin
8d92c28a16
Switch to pytest.raises(). ( #6680 )
...
* Switch to pytest.raises().
* Add matches= to broad pytest.raises().
* Adjust the test_nonserializable_object() regex for Python <= 3.11.
* Adjust the test_nonserializable_object() regex for PyPy.
* Adjust other test exception regexes for PyPy.
* Cleanup.
2025-02-27 23:13:04 +05:00
Andrey Rakhmatullin
897e124a27
Add flake8-return rules to ruff.
2024-12-12 20:32:25 +05:00
Andrey Rakhmatullin
5759b3f0f2
Drop Reppy.
2024-10-17 23:41:23 +05:00
Andrey Rakhmatullin
feb0b8f7dc
Add pyupgrade.
2024-06-05 22:57:18 +05:00
Andrey Rakhmatullin
ccd1385e11
Merge branch 'master' into no-callback
2023-01-30 15:43:05 +05:00
Andrey Rakhmatullin
da15d93d39
Merge pull request #5806 from jxlil/master
...
Use isort
2023-01-30 15:40:44 +05:00
Cj Malone
33b85a9e2a
Test local files aren't processed
2023-01-26 19:51:20 +00:00
Jalil SA
a5c1ef8276
sort imports with isort
2023-01-25 14:25:15 -06:00
Adrián Chaves
9272c4af0c
Merge remote-tracking branch 'scrapy/master' into no-callback
2023-01-25 17:41:41 +01:00
Adrián Chaves
50500a6b28
Implement a NO_CALLBACK value for Request.callback
2023-01-19 17:14:18 +01:00
Emmanuel Rondan
e211ec0aa2
adding black formatter to all the code
2022-11-29 11:30:46 -03:00
Eugenio Lacuesta
7e23677b52
Engine: deprecations and type hints ( #5090 )
2021-04-20 08:45:28 -03:00
Marc Hernández
336f19f5cc
Change super syntax ( #4707 )
2020-08-04 20:42:01 +02:00
Adrián Chaves
890b2138a6
Remove the u prefix from strings
2020-07-30 13:39:30 +02:00
Antonio Gordillo Toledo
cf09af787e
Remove Python 2 encoding header from files ( #4553 )
2020-05-08 15:45:19 +02:00
Eugenio Lacuesta
c0bfaef37a
Remove __future__ imports from tests
2019-11-02 23:27:04 -03:00
Andrey Rakhmatullin
75b1d051d9
Simplify some more imports.
2019-10-31 15:22:45 +05:00
Anubhav Patel
00fe05e536
adds ROBOTSTXT_USER_AGENT setting
2019-08-19 09:24:16 +05:30
Anubhav Patel
8e813953bd
[MRG+1] [GSoC 2019] Interface for robots.txt parsers ( #3796 )
...
Make the robots.txt parser configurable through the new ROBOTSTXT_PARSER setting, support the Reppy and Robotexclusionrulesparser parsers, and allow implementing custom robots.txt parsers.
2019-08-02 09:43:29 +02:00
Eugenio Lacuesta
eced544d64
Prevent even more DeprecationWarnings
2019-07-13 22:16:23 -03:00
Paul Tremberth
6cd35c77da
Pass user-agent as native str when checking URLs against robots.txt
2016-11-15 17:38:32 +01:00
Paul Tremberth
28155dfccc
Parse robots.txt content as native str
...
Fixes #2373
2016-11-09 12:20:06 +01:00
Artur Gaspar
dc8701ea42
Add test for already failed deferreds when downloading page in robots.txt middleware.
2016-01-27 12:56:42 -02:00
Artur Gaspar
1f4af9d81e
Test for robots.txt middleware for logger not being called when the request for robots.txt is ignored.
2015-09-02 10:33:53 -03:00
Artur Gaspar
668e5fd257
Test for robots.txt middleware for processing a request for which the robots.txt parser is ready.
2015-09-02 10:23:24 -03:00
Artur Gaspar
a6a629e707
Call actual error logger in robots.txt middleware tests.
2015-09-02 10:23:24 -03:00
Artur Gaspar
9ce9a293a6
Always check robots.txt before making another request in RobotsTxtMiddleware.
2015-09-02 10:23:24 -03:00
nyov
1a1bc2c6b5
PY3 port scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware
2015-07-29 04:21:57 +00:00
Victoria Terenina (torymur)
667864ae94
testing robotstxt error
2015-04-30 16:28:57 +03:00
Julia Medina
d7c444fefb
Move scrapy/contrib/downloadermiddleware to scrapy/downloadermiddlewares
2015-04-29 21:24:30 -03:00
Berker Peksag
31e5f164d4
Import unittest.mock if available.
...
mock is in the stdlib since Python 3.3.
2015-03-08 15:03:04 +02:00
Mikhail Korobov
36eec8f413
dont_obey_robotstxt meta key; don't process requests to /robots.txt
2014-09-23 00:10:43 +06:00
Daniel Graña
242c08553f
move tests under root dir
2014-07-30 19:45:08 -03:00