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)