|  | import os | 
|  | import sys | 
|  | import unittest | 
|  | import ConfigParser | 
|  |  | 
|  | sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../.."))) | 
|  | import base_test | 
|  | from selenium.common import exceptions | 
|  | from wptserve import server | 
|  | from wptserve.router import any_method | 
|  | from wptserve.handlers import basic_auth_handler | 
|  |  | 
|  | class WebDriverAuthTest(unittest.TestCase): | 
|  |  | 
|  | # Set up class to start HTTP Server that responds to | 
|  | # test URLs with various 401 responses | 
|  | @classmethod | 
|  | def setUpClass(cls): | 
|  | cls.driver = base_test.create_driver() | 
|  | cls.webserver = server.WebTestHttpd(routes=[(any_method, "*", basic_auth_handler)]) | 
|  | cls.webserver.start() | 
|  |  | 
|  | @classmethod | 
|  | def tearDownClass(cls): | 
|  | cls.driver.quit() | 
|  | cls.webserver.stop() | 
|  |  | 
|  | # Test that when 401 is seen by browser, a WebDriver response is still sent | 
|  | def test_response_401_auth_basic(self): | 
|  | page = self.webserver.get_url('navigation/res/authenticated.html') | 
|  | self.driver.set_page_load_timeout(5) | 
|  | try: | 
|  | self.driver.get( page ) | 
|  | # if we got a responses instead of timeout, that's success | 
|  | self.assertTrue(True) | 
|  | except exceptions.TimeoutException: | 
|  | self.fail("Did not get response from browser.") | 
|  | except: | 
|  | self.fail("Unexpected failure. Please investigate.") | 
|  |  | 
|  | if __name__ == "__main__": | 
|  | unittest.main() |