added some missing middlewares tests

This commit is contained in:
Ismael Carnales 2009-09-04 12:29:43 -03:00
parent aefb94063a
commit 6d127d7fcf
2 changed files with 69 additions and 0 deletions

View File

@ -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)

View File

@ -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)