From 2c8441957e55d96e1667d06d7e7ab941bf831e35 Mon Sep 17 00:00:00 2001 From: Umair Ashraf Date: Sat, 21 May 2016 04:46:02 -0400 Subject: [PATCH] added unit tests --- tests/test_downloadermiddleware_auth.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/test_downloadermiddleware_auth.py b/tests/test_downloadermiddleware_auth.py index 78fd120be..9b2e0e5bd 100644 --- a/tests/test_downloadermiddleware_auth.py +++ b/tests/test_downloadermiddleware_auth.py @@ -30,3 +30,18 @@ class AuthMiddlewareTest(unittest.TestCase): headers=dict(Authorization='Digest 123')) assert self.mw.process_request(req, self.spider) is None self.assertEquals(req.headers['Authorization'], b'Digest 123') + + def test_auth_from_http_url(self): + req = Request('http://username:password@scrapytest.org/') + new_req = self.mw.process_request(req, self.spider) + assert new_req is not None + self.assertEquals(new_req.headers['Authorization'], b'Basic dXNlcm5hbWU6cGFzc3dvcmQ=') + self.assertTrue('@' not in new_req.url) + + def test_auth_from_ftp_url(self): + req = Request('ftp://username:password@scrapytest.org/') + new_req = self.mw.process_request(req, self.spider) + assert new_req is not None + self.assertTrue('ftp_user' in new_req.meta) + self.assertTrue('ftp_password' in new_req.meta) + self.assertTrue('@' not in new_req.url)