A search engine for MMP's eASLRB.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
asl-rulebook2/asl_rulebook2/webapp/tests/test_doc.py

35 lines
1.0 KiB

""" Test documentation files. """
import urllib.request
import urllib.error
import pytest
from asl_rulebook2.webapp.tests.utils import init_webapp
# ---------------------------------------------------------------------
def test_doc( webapp, webdriver ):
"""Test serving documentation files."""
# initialize
webapp.control_tests.set_data_dir( "simple" )
init_webapp( webapp, webdriver )
def get_doc( path ):
# get the specified documentation file
url = "{}/{}".format( webapp.base_url, path )
resp = urllib.request.urlopen( url ).read()
return resp.decode( "utf-8" )
# test a valid documentation file
resp = get_doc( "/doc/prepare.md" )
assert "Preparing the data files" in resp
# test an unknown documentation file
with pytest.raises( urllib.error.HTTPError ):
_ = get_doc( "/doc/UNKNOWN" )
# try to bust out of the documentation directory
with pytest.raises( urllib.error.HTTPError ):
_ = get_doc( "/doc/../LICENSE.txt" )