mirror of https://github.com/scrapy/scrapy.git
added some missing middlewares tests
This commit is contained in:
parent
aefb94063a
commit
6d127d7fcf
|
|
@ -0,0 +1,30 @@
|
|||
from unittest import TestCase
|
||||
|
||||
from scrapy.conf import settings
|
||||
from scrapy.contrib.downloadermiddleware.defaultheaders import DefaultHeadersMiddleware
|
||||
from scrapy.http import Response, Request
|
||||
from scrapy.spider import BaseSpider
|
||||
|
||||
|
||||
class TestDefaultHeadersMiddleware(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.spider = BaseSpider()
|
||||
self.mw = DefaultHeadersMiddleware()
|
||||
self.default_headers = dict([(k, [v]) for k, v in \
|
||||
settings.get('DEFAULT_REQUEST_HEADERS').iteritems()])
|
||||
|
||||
def test_process_request(self):
|
||||
req = Request('http://www.scrapytest.org')
|
||||
self.mw.process_request(req, self.spider)
|
||||
self.assertEquals(req.headers, self.default_headers)
|
||||
|
||||
def test_update_headers(self):
|
||||
headers = {'Accept-Language': ['es'], 'Test-Header': ['test']}
|
||||
req = Request('http://www.scrapytest.org', headers=headers)
|
||||
self.assertEquals(req.headers, headers)
|
||||
|
||||
self.mw.process_request(req, self.spider)
|
||||
self.default_headers.update(headers)
|
||||
self.assertEquals(req.headers, self.default_headers)
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
from unittest import TestCase
|
||||
|
||||
from scrapy.conf import settings
|
||||
from scrapy.contrib.downloadermiddleware.stats import DownloaderStats
|
||||
from scrapy.http import Request, Response
|
||||
from scrapy.spider import BaseSpider
|
||||
from scrapy.stats import stats
|
||||
|
||||
|
||||
class TestDownloaderStats(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.spider = BaseSpider()
|
||||
self.spider.domain_name = 'scrapytest.org'
|
||||
self.mw = DownloaderStats()
|
||||
|
||||
stats.open_domain(self.spider.domain_name)
|
||||
|
||||
self.req = Request('scrapytest.org')
|
||||
self.res = Response('scrapytest.org', status=400)
|
||||
|
||||
def test_process_request(self):
|
||||
self.mw.process_request(self.req, self.spider)
|
||||
self.assertEqual(stats.get_value('downloader/request_count', \
|
||||
domain=self.spider.domain_name), 1)
|
||||
|
||||
def test_process_response(self):
|
||||
self.mw.process_response(self.req, self.res, self.spider)
|
||||
self.assertEqual(stats.get_value('downloader/response_count', \
|
||||
domain=self.spider.domain_name), 1)
|
||||
|
||||
def test_process_exception(self):
|
||||
self.mw.process_exception(self.req, Exception(), self.spider)
|
||||
self.assertEqual(stats.get_value('downloader/exception_count', \
|
||||
domain=self.spider.domain_name), 1)
|
||||
|
||||
def tearUp(self):
|
||||
stats.close_domain(self.spider.domain_name)
|
||||
|
||||
Loading…
Reference in New Issue