Andrey Rakhmatullin
61f99f2df1
More granular untyped defs checking in tests. ( #7712 )
2026-07-08 10:05:45 +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
5105f55a98
Add `DownloaderMiddlewareManager.download_async()`, deprecate returning Deferreds from downloader mws ( #7069 )
...
* Restore coverage in MiddlewareManager spider arg handling.
* Move MiddlewareManager._warn_spider_arg() tests.
* Add DownloaderMiddlewareManager.download_async().
* Make download_func async.
* Inline MiddlewareManager._warn_spider_arg().
* Deprecate returning deferreds from downloader middlewares.
* Update the downloader mw doc about async def.
* Use global_object_name() instead of repr().
* Update docs/topics/downloader-middleware.rst
Co-authored-by: Adrián Chaves <adrian@chaves.io>
* Update downloader-middleware.rst
---------
Co-authored-by: Adrián Chaves <adrian@chaves.io>
2025-12-09 20:07:36 +05:00
Andrey Rakhmatullin
1c6ba00fd0
Move LogCounterHandler into a new extension ( #7046 )
...
* Move LogCounterHandler into Crawler.crawl().
* Add the LogCount extension.
* Update test_spider_custom_settings_log_level().
* Typo.
* Update docs.
2025-10-03 20:14:11 +05:00
Andrey Rakhmatullin
dd0b071bcc
Deprecate sync methods of ItemPipelineManager/ITEM_PROCESSOR. ( #7043 )
2025-10-03 14:15:42 +02: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
a0b766f9e1
More *_async APIs ( #6997 )
...
* Add ExecutionEngine.close_spider_async().
* Add Scraper.{open,close}_spider_async().
* Fix double engine stopping via Crawler.stop().
* Add ExecutionEngine.stop_async().
* Add versionadded to new async APIs.
* Add ExecutionEngine.close_async().
2025-08-08 22:15:41 +05:00
Andrey Rakhmatullin
baa579df62
Deprecate various `spider` args in `MiddlewareManager` subclasses ( #6984 )
...
* Add a crawler argument to MiddlewareManager.__init__().
* Deprecate the spider argument in some MiddlewareManager subclasses.
* Remove the spider argument from ExecutionEngine.open_spider_async().
* Remove the spider argument from Scraper.open_spider().
* Fix the Scraper.close_spider() type hint.
* Remove the spider argument from Downloader internals.
* Deprecate the spider arg of download_func.
* Deprecate the spider arg of Downloader.fetch().
* Deprecate the spider arg of ItemPipelineManager.process_item().
* Fix pylint.
* Tests for MiddlewareManager spider code.
* Deprecated spider arg handling for custom pipeline managers.
* Add a test for the deprecated spider arg in a custom downloader.
* Remove TODO.
* Fix pylint.
2025-08-05 12:21:08 +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
8b3c3ea4ae
Refactor test functions that were returning a Deferred directly. ( #6889 )
2025-06-30 09:19:23 +02:00
Andrey Rakhmatullin
b86f00327a
Refactor more Deferred functions. ( #6795 )
2025-05-13 20:47:57 +02:00
Adrián Chaves
036f3e5627
Support asynchronous start requests ( #6729 )
2025-05-07 19:04:03 +02:00
Andrey Rakhmatullin
2a1edbd473
Remove usages of TestCase._wait(). ( #6773 )
2025-05-05 09:44:17 +02: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
a898331d14
Preparations for switching to direct pytest. ( #6678 )
2025-02-16 20:28:58 +01:00
Andrey Rakhmatullin
7dd92e6e43
Add pylint rules to ruff, refresh the ignore list of pylint itself ( #6584 )
2024-12-16 09:44:36 +01:00
Andrey Rakhmatullin
e7595837a6
Add flake8-raise rules to ruff.
2024-12-12 20:33:35 +05:00
Andrey Rakhmatullin
897e124a27
Add flake8-return rules to ruff.
2024-12-12 20:32:25 +05:00
Andrey Rakhmatullin
1282ddf8f7
Add parameters to most Deferred in scrapy/core. ( #6395 )
2024-06-10 10:27:50 +02:00
Adrián Chaves
d2f1e00a6a
Merge 2.11.2 changes ( #6363 )
2024-05-14 18:54:11 +02:00
Marc Hernández
5360ba34bc
IOError and other cleanup ( #4716 )
2023-06-21 20:08:53 +02:00
Adrián Chaves
b07d3f85a3
Upgrade CI tools
2023-02-02 06:37:40 +01:00
Jalil SA
a5c1ef8276
sort imports with isort
2023-01-25 14:25:15 -06:00
Emmanuel Rondan
e211ec0aa2
adding black formatter to all the code
2022-11-29 11:30:46 -03:00
Laerte Pereira
6770d1ec62
chore(tests): Remove validations for unsupported modules versions
2022-06-09 09:08:09 -03:00
Adrián Chaves
fea5a11899
Also skip test_asyncdef_asyncio on old Twisted versions
2020-11-06 13:00:42 +01:00
Adrián Chaves
ea851b910e
Clean up Twisted version check
2020-11-06 13:00:31 +01:00
Adrián Chaves
906626cf0b
Skip MiddlewareUsingCoro::test_asyncdef on asyncio and old Twisted
2020-11-04 21:50:12 +01:00
Ammar Najjar
58ca8bbf6d
Use f-strings ( #4307 )
2020-08-26 07:11:05 +02:00
elacuesta
dfbe1d9507
Remove object base class ( #4430 )
2020-03-16 20:12:46 +01:00
Andrey Rakhmatullin
2b9254c2bd
Add a test function that uses asyncio.Queue().
2019-12-31 17:54:41 +05:00
Andrey Rakhmatullin
16787f5bf4
Merge middleware tests back as we don't need to set the setting anymore.
2019-12-30 12:02:19 +05:00
Andrey Rakhmatullin
5cf1ac0005
Move the asyncio downloader mw test to a separate class.
2019-12-30 11:46:45 +05:00
Andrey Rakhmatullin
3603644552
Add a non-asyncio async def middleware test.
2019-12-30 11:46:45 +05:00
Andrey Rakhmatullin
21f50c795a
Add async def support to downloader middlewares.
2019-12-30 11:46:45 +05:00
Andrey Rakhmatullin
1b35260625
Add a test for downloader middlewares using Deferreds.
2019-12-04 21:32:56 +05:00
Andrey Rakhmatullin
92ffd2f249
Simplify some more imports.
2019-11-14 13:45:39 +05:00
Anubhav Patel
b8900ec6a6
removes unused var
2019-06-17 00:06:44 +05:30
Eugenio Lacuesta
784eed1130
Improve test coverage (downloader middleware)
2018-07-20 19:08:46 -03:00
Konstantin Lopuhin
94ab7bee6c
py3: body to bytes in tests, unskip test file
2016-01-15 11:26:01 +03:00
Artur Gaspar
dd83f6123d
Test for same response object in downloader middleware test.
2015-09-02 11:36:15 -03:00
Artur Gaspar
2748b38592
Test for not calling the download function when downloader middleware returns a response in process_request.
2015-09-02 11:15:37 -03:00
Julia Medina
d3f576a816
Move scrapy/spider.py to scrapy/spiders/__init__.py
2015-05-09 04:20:09 -03:00
Julia Medina
870438e5f4
Update tests utils, fixing get_crawler and removing docrawl
2014-08-12 14:02:56 -03:00
Daniel Graña
242c08553f
move tests under root dir
2014-07-30 19:45:08 -03:00