mirror of https://github.com/scrapy/scrapy.git
Make mockserver instances per-class.
This commit is contained in:
parent
1a0dfbd32e
commit
783b98deda
|
|
@ -13,12 +13,14 @@ from tests.spiders import (
|
|||
|
||||
|
||||
class TestCloseSpider(TestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_closespider_itemcount(self):
|
||||
|
|
|
|||
|
|
@ -56,12 +56,14 @@ from tests.spiders import (
|
|||
|
||||
|
||||
class CrawlTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_follow_all(self):
|
||||
|
|
@ -448,12 +450,14 @@ with multiples lines
|
|||
|
||||
|
||||
class CrawlSpiderTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _run_spider(self, spider_cls):
|
||||
|
|
|
|||
|
|
@ -693,12 +693,14 @@ class Http11MockServerTestCase(unittest.TestCase):
|
|||
|
||||
settings_dict: dict | None = None
|
||||
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_download_with_content_length(self):
|
||||
|
|
|
|||
|
|
@ -50,13 +50,17 @@ class DownloaderSlotsSettingsTestSpider(MetaSpider):
|
|||
|
||||
|
||||
class CrawlTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
self.runner = CrawlerRunner()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
def setUp(self):
|
||||
self.runner = CrawlerRunner()
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_delay(self):
|
||||
|
|
|
|||
|
|
@ -636,13 +636,19 @@ class FeedExportTestBase(ABC, unittest.TestCase):
|
|||
filename = "".join(chars)
|
||||
return Path(self.temp_dir, inter_dir, filename)
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
def setUp(self):
|
||||
self.temp_dir = tempfile.mkdtemp()
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
shutil.rmtree(self.temp_dir, ignore_errors=True)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
|
|
|||
|
|
@ -262,9 +262,16 @@ class DropSomeItemsPipeline:
|
|||
|
||||
|
||||
class ShowOrSkipMessagesTestCase(TwistedTestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
self.base_settings = {
|
||||
"LOG_LEVEL": "DEBUG",
|
||||
"ITEM_PIPELINES": {
|
||||
|
|
@ -272,9 +279,6 @@ class ShowOrSkipMessagesTestCase(TwistedTestCase):
|
|||
},
|
||||
}
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_show_messages(self):
|
||||
crawler = get_crawler(ItemSpider, self.base_settings)
|
||||
|
|
|
|||
|
|
@ -64,10 +64,16 @@ class FileDownloadCrawlTestCase(TestCase):
|
|||
"ed3f6538dc15d4d9179dae57319edc5f",
|
||||
}
|
||||
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
def setUp(self):
|
||||
# prepare a directory for storing files
|
||||
self.tmpmediastore = Path(mkdtemp())
|
||||
self.settings = {
|
||||
|
|
@ -80,7 +86,6 @@ class FileDownloadCrawlTestCase(TestCase):
|
|||
def tearDown(self):
|
||||
shutil.rmtree(self.tmpmediastore)
|
||||
self.items = []
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
|
||||
def _on_item_scraped(self, item):
|
||||
self.items.append(item)
|
||||
|
|
|
|||
|
|
@ -77,12 +77,14 @@ class ItemSpider(Spider):
|
|||
|
||||
|
||||
class PipelineTestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
def _on_item_scraped(self, item):
|
||||
self.assertIsInstance(item, dict)
|
||||
|
|
|
|||
|
|
@ -62,14 +62,21 @@ def _wrong_credentials(proxy_url):
|
|||
|
||||
|
||||
class ProxyConnectTestCase(TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
def setUp(self):
|
||||
try:
|
||||
import mitmproxy # noqa: F401
|
||||
except ImportError:
|
||||
self.skipTest("mitmproxy is not installed")
|
||||
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
self._oldenv = os.environ.copy()
|
||||
|
||||
self._proxy = MitmProxy()
|
||||
|
|
@ -78,7 +85,6 @@ class ProxyConnectTestCase(TestCase):
|
|||
os.environ["http_proxy"] = proxy_url
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
self._proxy.stop()
|
||||
os.environ = self._oldenv
|
||||
|
||||
|
|
|
|||
|
|
@ -57,12 +57,14 @@ class AlternativeCallbacksMiddleware:
|
|||
|
||||
|
||||
class CrawlTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_response_200(self):
|
||||
|
|
|
|||
|
|
@ -154,12 +154,14 @@ class KeywordArgumentsSpider(MockServerSpider):
|
|||
class CallbackKeywordArgumentsTestCase(TestCase):
|
||||
maxDiff = None
|
||||
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_callback_kwargs(self):
|
||||
|
|
|
|||
|
|
@ -25,12 +25,14 @@ class SignalCatcherSpider(Spider):
|
|||
|
||||
|
||||
class TestCatching(TestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_success(self):
|
||||
|
|
|
|||
|
|
@ -21,13 +21,17 @@ class ItemSpider(Spider):
|
|||
|
||||
|
||||
class AsyncSignalTestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
self.items = []
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
def setUp(self):
|
||||
self.items = []
|
||||
|
||||
async def _on_item_scraped(self, item):
|
||||
item = await get_from_asyncio_queue(item)
|
||||
|
|
|
|||
|
|
@ -172,12 +172,14 @@ class TestHttpErrorMiddlewareHandleAll(TestCase):
|
|||
|
||||
|
||||
class TestHttpErrorMiddlewareIntegrational(TrialTestCase):
|
||||
def setUp(self):
|
||||
self.mockserver = MockServer()
|
||||
self.mockserver.__enter__()
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mockserver = MockServer()
|
||||
cls.mockserver.__enter__()
|
||||
|
||||
def tearDown(self):
|
||||
self.mockserver.__exit__(None, None, None)
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mockserver.__exit__(None, None, None)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_middleware_works(self):
|
||||
|
|
|
|||
Loading…
Reference in New Issue