Skip to content

Commit

Permalink
Remove verify autouse fixture
Browse files Browse the repository at this point in the history
  • Loading branch information
davehunt committed Aug 24, 2015
1 parent 4f5522c commit 209a68d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 23 deletions.
34 changes: 16 additions & 18 deletions pytest_selenium/pytest_selenium.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,26 +41,24 @@ def _environment(request, base_url, capabilities):

@pytest.fixture(scope='session')
def base_url(request):
"""Return base URL from command line options"""
"""Return a verified base URL"""
config = request.config
url = config.option.base_url or config.getini('selenium_base_url')
if not url:
raise pytest.UsageError('--base-url must be specified.')
return url


@pytest.fixture(scope='session', autouse=True)
def _verify_base_url(request, base_url):
"""Verify that the base URL is responding with an acceptable status code"""
base_url = config.option.base_url or config.getini('selenium_base_url')
if base_url:
response = requests.get(base_url, timeout=REQUESTS_TIMEOUT)
ok_codes = (200, 401)
if response.status_code not in ok_codes:
raise pytest.UsageError(
'Base URL did not respond with one of the following status '
'codes: {0}.\nURL: {1},\nResponse status code: {2.status_code}'
'\nResponse headers: {2.headers}'.format(
', '.join(map(str, ok_codes)), base_url, response))
verify_url(base_url)
return base_url
raise pytest.UsageError('--base-url must be specified.')


def verify_url(url):
response = requests.get(url, timeout=REQUESTS_TIMEOUT)
ok_codes = (200, 401)
if response.status_code not in ok_codes:
raise pytest.UsageError(
'Base URL did not respond with one of the following status '
'codes: {0}.\nURL: {1},\nResponse status code: {2.status_code}'
'\nResponse headers: {2.headers}'.format(
', '.join(map(str, ok_codes)), url, response))


@pytest.fixture(scope='session')
Expand Down
7 changes: 2 additions & 5 deletions testing/test_base_url.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,10 @@ def test_failing_base_url(testdir, webserver):
base_url = 'http://localhost:{0}/{1}/'.format(webserver.port, status_code)
testdir.makepyfile("""
import pytest
@pytest.fixture(scope='session')
def base_url():
return '{0}'
@pytest.mark.nondestructive
def test_pass(_verify_base_url): pass
def test_pass(): pass
""".format(base_url))
result = testdir.runpytest()
result = testdir.runpytest('--base-url', base_url)
assert result.ret != 0
# tracestyle is native by default for hook failures
result.stdout.fnmatch_lines([
Expand Down

0 comments on commit 209a68d

Please sign in to comment.