Example #1
0
 def test_start_already_running_exception(self):
     e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
     yield e.open_spider(TestSpider(), [])
     e.start()
     yield self.assertFailure(e.start(), RuntimeError).addBoth(
         lambda exc: self.assertEqual(str(exc), "Engine already running"))
     yield e.stop()
Example #2
0
 def test_close_engine_spiders_downloader(self):
     e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
     yield e.open_spider(TestSpider(), [])
     e.start()
     self.assertTrue(e.running)
     yield e.close()
     self.assertFalse(e.running)
     self.assertEqual(len(e.open_spiders), 0)
Example #3
0
 def test_close_engine_spiders_downloader(self):
     e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
     yield e.open_spider(TestSpider(), [])
     e.start()
     self.assertTrue(e.running)
     yield e.close()
     self.assertFalse(e.running)
     self.assertEqual(len(e.open_spiders), 0)
Example #4
0
 def test_deprecated_schedule(self):
     with pytest.warns(ScrapyDeprecationWarning,
                       match="ExecutionEngine.schedule is deprecated, please use "
                             "ExecutionEngine.crawl or ExecutionEngine.download instead"):
         e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
         spider = TestSpider()
         yield e.open_spider(spider, [])
         e.start()
         e.schedule(Request("data:,"), spider)
         yield e.close()
Example #5
0
 def test_download_deprecated_spider_arg(self):
     with pytest.warns(ScrapyDeprecationWarning,
                       match="Passing a 'spider' argument to "
                             "ExecutionEngine.download is deprecated"):
         e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
         spider = TestSpider()
         yield e.open_spider(spider, [])
         e.start()
         e.download(Request("data:,"), spider)
         yield e.close()
Example #6
0
 def test_deprecated_has_capacity(self):
     with pytest.warns(ScrapyDeprecationWarning,
                       match="ExecutionEngine.has_capacity is deprecated"):
         e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
         self.assertTrue(e.has_capacity())
         spider = TestSpider()
         yield e.open_spider(spider, [])
         self.assertFalse(e.has_capacity())
         e.start()
         yield e.close()
         self.assertTrue(e.has_capacity())
Example #7
0
 def test_close_engine_spiders_downloader(self):
     with pytest.warns(ScrapyDeprecationWarning,
                       match="ExecutionEngine.open_spiders is deprecated, "
                             "please use ExecutionEngine.spider instead"):
         e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
         yield e.open_spider(TestSpider(), [])
         e.start()
         self.assertTrue(e.running)
         yield e.close()
         self.assertFalse(e.running)
         self.assertEqual(len(e.open_spiders), 0)
Example #8
0
 def test_deprecated_has_capacity(self):
     with warnings.catch_warnings(record=True) as warning_list:
         e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
         self.assertTrue(e.has_capacity())
         spider = TestSpider()
         yield e.open_spider(spider, [])
         self.assertFalse(e.has_capacity())
         e.start()
         yield e.close()
         self.assertTrue(e.has_capacity())
         self.assertEqual(warning_list[0].category, ScrapyDeprecationWarning)
         self.assertEqual(str(warning_list[0].message), "ExecutionEngine.has_capacity is deprecated")
Example #9
0
 def test_download_deprecated_spider_arg(self):
     with warnings.catch_warnings(record=True) as warning_list:
         e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
         spider = TestSpider()
         yield e.open_spider(spider, [])
         e.start()
         e.download(Request("data:,"), spider)
         yield e.close()
         self.assertEqual(warning_list[0].category, ScrapyDeprecationWarning)
         self.assertEqual(
             str(warning_list[0].message),
             "Passing a 'spider' argument to ExecutionEngine.download is deprecated",
         )
Example #10
0
 def test_deprecated_schedule(self):
     with warnings.catch_warnings(record=True) as warning_list:
         e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
         spider = TestSpider()
         yield e.open_spider(spider, [])
         e.start()
         e.schedule(Request("data:,"), spider)
         yield e.close()
         self.assertEqual(warning_list[0].category, ScrapyDeprecationWarning)
         self.assertEqual(
             str(warning_list[0].message),
             "ExecutionEngine.schedule is deprecated, please use "
             "ExecutionEngine.crawl or ExecutionEngine.download instead",
         )
Example #11
0
 def test_close_engine_spiders_downloader(self):
     with warnings.catch_warnings(record=True) as warning_list:
         e = ExecutionEngine(get_crawler(TestSpider), lambda _: None)
         yield e.open_spider(TestSpider(), [])
         e.start()
         self.assertTrue(e.running)
         yield e.close()
         self.assertFalse(e.running)
         self.assertEqual(len(e.open_spiders), 0)
         self.assertEqual(warning_list[0].category, ScrapyDeprecationWarning)
         self.assertEqual(
             str(warning_list[0].message),
             "ExecutionEngine.open_spiders is deprecated, please use ExecutionEngine.spider instead",
         )