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