mirror of https://github.com/scrapy/scrapy.git
disconnect signals before uninstalling crawler in image tests
This commit is contained in:
parent
ad43917322
commit
fe1dd3a93d
|
|
@ -148,9 +148,9 @@ class ImagesPipeline(MediaPipeline):
|
|||
's3': S3ImagesStore,
|
||||
}
|
||||
|
||||
def __init__(self, store_uri):
|
||||
def __init__(self, store_uri, download_func=None):
|
||||
self.store = self._get_store(store_uri)
|
||||
super(ImagesPipeline, self).__init__()
|
||||
super(ImagesPipeline, self).__init__(download_func=download_func)
|
||||
|
||||
@classmethod
|
||||
def from_settings(cls, settings):
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ from shutil import rmtree
|
|||
|
||||
from twisted.trial import unittest
|
||||
|
||||
from scrapy.crawler import Crawler
|
||||
from scrapy.conf import settings
|
||||
|
||||
try:
|
||||
import Image
|
||||
|
|
@ -14,6 +12,10 @@ try:
|
|||
except ImportError, e:
|
||||
skip = True
|
||||
|
||||
def _mocked_download_func(request, info):
|
||||
response = request.meta.get('response')
|
||||
return response() if callable(response) else response
|
||||
|
||||
|
||||
class ImagesPipelineTestCase(unittest.TestCase):
|
||||
|
||||
|
|
@ -21,14 +23,10 @@ class ImagesPipelineTestCase(unittest.TestCase):
|
|||
|
||||
def setUp(self):
|
||||
from scrapy.contrib.pipeline.images import ImagesPipeline
|
||||
|
||||
self.crawler = Crawler(settings)
|
||||
self.crawler.install()
|
||||
self.tempdir = mkdtemp()
|
||||
self.pipeline = ImagesPipeline(self.tempdir)
|
||||
self.pipeline = ImagesPipeline(self.tempdir, download_func=_mocked_download_func)
|
||||
|
||||
def tearDown(self):
|
||||
self.crawler.uninstall()
|
||||
rmtree(self.tempdir)
|
||||
|
||||
def test_image_path(self):
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ from scrapy.spider import BaseSpider
|
|||
from scrapy.utils.request import request_fingerprint
|
||||
from scrapy.contrib.pipeline.media import MediaPipeline
|
||||
from scrapy.utils.test import get_crawler
|
||||
from scrapy.utils.signal import disconnect_all
|
||||
from scrapy import signals
|
||||
from scrapy import log
|
||||
|
||||
|
||||
|
|
@ -28,6 +30,9 @@ class BaseMediaPipelineTestCase(unittest.TestCase):
|
|||
self.info = self.pipe.spiderinfo[self.spider]
|
||||
|
||||
def tearDown(self):
|
||||
for name, signal in vars(signals).items():
|
||||
if not name.startswith('_'):
|
||||
disconnect_all(signal)
|
||||
self.pipe.close_spider(self.spider)
|
||||
|
||||
def test_default_media_to_download(self):
|
||||
|
|
|
|||
Loading…
Reference in New Issue