Add deprecation warning test for scrapy.pipelines.images.NoimagesDrop

This commit is contained in:
PluT00 2022-05-03 11:29:21 +03:00
parent 9f659bd63c
commit cc16af35af
1 changed files with 19 additions and 1 deletions

View File

@ -4,14 +4,16 @@ import random
from shutil import rmtree
from tempfile import mkdtemp
from unittest import skipIf
from warnings import catch_warnings
import attr
from itemadapter import ItemAdapter
from twisted.trial import unittest
from scrapy.exceptions import ScrapyDeprecationWarning
from scrapy.http import Request, Response
from scrapy.item import Field, Item
from scrapy.pipelines.images import ImagesPipeline
from scrapy.pipelines.images import ImagesPipeline, NoimagesDrop
from scrapy.settings import Settings
from scrapy.utils.python import to_bytes
@ -413,6 +415,22 @@ class ImagesPipelineTestCaseCustomSettings(unittest.TestCase):
expected_value)
class NoimagesDropTestCase(unittest.TestCase):
def test_deprecation_warning(self):
arg = str()
with catch_warnings(record=True) as warnings:
NoimagesDrop(arg)
self.assertEqual(len(warnings), 1)
self.assertEqual(warnings[0].category, ScrapyDeprecationWarning)
with catch_warnings(record=True) as warnings:
class SubclassedNoimagesDrop(NoimagesDrop):
pass
SubclassedNoimagesDrop(arg)
self.assertEqual(len(warnings), 1)
self.assertEqual(warnings[0].category, ScrapyDeprecationWarning)
def _create_image(format, *a, **kw):
buf = io.BytesIO()
Image.new(*a, **kw).save(buf, format)