test_downloadermiddleware_uriuserinfo: fix tests

This commit is contained in:
Adrián Chaves 2020-04-15 12:52:57 +02:00
parent 9e6dd16ca3
commit a0bcdd7d4d
1 changed files with 15 additions and 5 deletions

View File

@ -18,25 +18,33 @@ class BaseTestCase:
def test_username_and_password(self):
req = Request('{}://foo:bar@scrapytest.org/'.format(self.protocol))
assert self.mw.process_request(req, self.spider) is None
userinfoless_url = '{}://scrapytest.org/'.format(self.protocol)
processed_request = self.mw.process_request(req, self.spider)
assert processed_request.url == userinfoless_url
self.assertEqual(req.meta[self.username_field], 'foo')
self.assertEqual(req.meta[self.password_field], 'bar')
def test_username_and_empty_password(self):
req = Request('{}://foo:@scrapytest.org/'.format(self.protocol))
assert self.mw.process_request(req, self.spider) is None
userinfoless_url = '{}://scrapytest.org/'.format(self.protocol)
processed_request = self.mw.process_request(req, self.spider)
assert processed_request.url == userinfoless_url
self.assertEqual(req.meta[self.username_field], 'foo')
self.assertEqual(req.meta[self.password_field], '')
def test_username_and_no_password(self):
req = Request('{}://foo@scrapytest.org/'.format(self.protocol))
assert self.mw.process_request(req, self.spider) is None
userinfoless_url = '{}://scrapytest.org/'.format(self.protocol)
processed_request = self.mw.process_request(req, self.spider)
assert processed_request.url == userinfoless_url
self.assertEqual(req.meta[self.username_field], 'foo')
self.assertNotIn(self.password_field, req.meta)
def test_empty_username_and_nonempty_password(self):
req = Request('{}://:bar@scrapytest.org/'.format(self.protocol))
assert self.mw.process_request(req, self.spider) is None
userinfoless_url = '{}://scrapytest.org/'.format(self.protocol)
processed_request = self.mw.process_request(req, self.spider)
assert processed_request.url == userinfoless_url
self.assertEqual(req.meta[self.username_field], '')
self.assertEqual(req.meta[self.password_field], 'bar')
@ -50,7 +58,9 @@ class BaseTestCase:
req = Request(
'{}://foo%3A:b%40r@scrapytest.org/'.format(self.protocol)
)
assert self.mw.process_request(req, self.spider) is None
userinfoless_url = '{}://scrapytest.org/'.format(self.protocol)
processed_request = self.mw.process_request(req, self.spider)
assert processed_request.url == userinfoless_url
self.assertEqual(req.meta[self.username_field], 'foo:')
self.assertEqual(req.meta[self.password_field], 'b@r')