Merged in issue-32-python-3-6-upgrade (pull request #16)
Upgrade to Python 3.6
This commit is contained in:
commit
6e74a74d57
|
@ -1,4 +1,4 @@
|
|||
FROM python:3.5
|
||||
FROM python:3.6
|
||||
MAINTAINER Dorian Pula <dorian.pula@amber-penguin-software.ca>
|
||||
|
||||
RUN wget https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb \
|
||||
|
|
|
@ -46,7 +46,7 @@ def serve_page(slug):
|
|||
# TODO: Filter by provided APP ID, provided in the header.
|
||||
page = db_session.query(models.Page).filter_by(slug=slug).first()
|
||||
except Exception as err:
|
||||
logger.error('Error retrieving "%s" page because of: %s', slug, err)
|
||||
logger.error(f'Error retrieving "{slug}" page because of: {err}')
|
||||
flask.abort(http.HTTPStatus.INTERNAL_SERVER_ERROR)
|
||||
|
||||
if page is None:
|
||||
|
@ -72,7 +72,7 @@ def save_page(slug):
|
|||
content=updated_page['content'])
|
||||
db_session.add(page)
|
||||
except Exception as err:
|
||||
logger.error('Error retrieving "%s" page because of: %s', slug, err)
|
||||
logger.error(f'Error retrieving "{slug}" page because of: {err}')
|
||||
flask.abort(http.HTTPStatus.INTERNAL_SERVER_ERROR)
|
||||
else:
|
||||
page.slug = slug
|
||||
|
|
|
@ -36,7 +36,7 @@ def app_config():
|
|||
try:
|
||||
site = db_session.query(models.Site).filter_by(api_key=api_key).first()
|
||||
except Exception as err:
|
||||
logger.error('Error retrieving site because of: %s', err)
|
||||
logger.error(f'Error retrieving site because of: {err}')
|
||||
flask.abort(http.HTTPStatus.INTERNAL_SERVER_ERROR)
|
||||
|
||||
if site is None:
|
||||
|
@ -60,7 +60,7 @@ def menu_config():
|
|||
try:
|
||||
site = db_session.query(models.Site).filter_by(api_key=api_key).first()
|
||||
except Exception as err:
|
||||
logger.error('Error retrieving site because of: %s', err)
|
||||
logger.error(f'Error retrieving site because of: {err}')
|
||||
flask.abort(http.HTTPStatus.INTERNAL_SERVER_ERROR)
|
||||
|
||||
if site is None:
|
||||
|
|
|
@ -85,12 +85,12 @@ def test_database(db_connection=DEFAULT_DB_CONNECTION, keep_test_db=False,
|
|||
yield
|
||||
|
||||
except sql_error.OperationalError as err:
|
||||
print('Unable to connect to the database because of "{message}" \n Stack: \n'.format(message=err))
|
||||
print(f'Unable to connect to the database because of "{err}" \n Stack: \n')
|
||||
traceback.print_tb(sys.exc_info()[2])
|
||||
raise err
|
||||
|
||||
except Exception as err:
|
||||
print('Unable to run server test because of "{message}" \n Stack: \n'.format(message=err))
|
||||
print(f'Unable to run server test because of "{err}" \n Stack: \n')
|
||||
traceback.print_tb(sys.exc_info()[2])
|
||||
raise err
|
||||
|
||||
|
|
|
@ -44,5 +44,4 @@ def run(ctx, port=5000, debugging=False):
|
|||
if debugging:
|
||||
run_debug_server(port)
|
||||
else:
|
||||
inv.run(
|
||||
'uwsgi --http :{port} --master --processes 4 --module "rookeries:make_rookeries_app()"'.format(port=port))
|
||||
inv.run(f'uwsgi --http :{port} --master --processes 4 --module "rookeries:make_rookeries_app()"')
|
||||
|
|
|
@ -39,15 +39,14 @@ def _prepare_py_test_command(test_path, check_coverage_on='', verbosity=0, **ext
|
|||
verbose_flag = '-{}'.format('v' * verbosity)
|
||||
|
||||
if verbosity >= 3:
|
||||
verbose_flag = '{} -r a'.format(verbose_flag)
|
||||
verbose_flag = f'{verbose_flag} -r a'
|
||||
|
||||
coverage_flag = ''
|
||||
if check_coverage_on:
|
||||
coverage_flag = '--cov {pkg} --cov-report=term-missing --capture=no'.format(pkg=check_coverage_on)
|
||||
coverage_flag = f'--cov {check_coverage_on} --cov-report=term-missing --capture=no'
|
||||
additional_test_params = ' '.join(
|
||||
['--{}={}'.format(key.replace('_', '-'), value) for (key, value) in extra_test_params.items()])
|
||||
return 'py.test {path} {coverage} {verbose} {extra_options}'.format(
|
||||
path=test_path, coverage=coverage_flag, verbose=verbose_flag, extra_options=additional_test_params)
|
||||
return f'py.test {test_path} {coverage_flag} {verbose_flag} {additional_test_params}'
|
||||
|
||||
|
||||
@inv.task
|
||||
|
|
|
@ -59,11 +59,11 @@ def environment(environ_modifier):
|
|||
"""
|
||||
current_env = copy.deepcopy(os.environ)
|
||||
if not isinstance(environ_modifier, dict):
|
||||
raise ValueError('Provided environment "{}" is a not a dict!'.format(environ_modifier))
|
||||
raise ValueError(f'Provided environment "{environ_modifier}" is a not a dict!')
|
||||
|
||||
non_string_keys = [key for key in environ_modifier.keys() if not isinstance(key, str)]
|
||||
if non_string_keys:
|
||||
raise ValueError('Provided environment contains invalid keys: "{}"!'.format(non_string_keys))
|
||||
raise ValueError(f'Provided environment contains invalid keys: "{non_string_keys}"!')
|
||||
|
||||
for environ_key, value in environ_modifier.items():
|
||||
os.environ[environ_key] = value
|
||||
|
|
|
@ -25,4 +25,4 @@ def api_base_uri(request):
|
|||
"""
|
||||
server_hostname = request.config.getoption("--server-hostname")
|
||||
server_port = request.config.getoption("--server-port")
|
||||
return "http://{hostname}:{port}".format(hostname=server_hostname, port=server_port)
|
||||
return f"http://{server_hostname}:{server_port}"
|
||||
|
|
|
@ -20,55 +20,55 @@ USER_ROLE_JWT_MAPPING = {
|
|||
}
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Admin user can create a new site')
|
||||
def test_site_creation_by_admin():
|
||||
pass
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Editor user can not create a new site')
|
||||
def test_site_creation_permissions_for_editor():
|
||||
pass
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Any user can get an existing site')
|
||||
def test_site_fetch():
|
||||
pass
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Admin user can modify a site')
|
||||
def test_site_modification_by_admin():
|
||||
pass
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Editor user can not modify a site')
|
||||
def test_site_modifications_permissions_for_editor():
|
||||
pass
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Admin user can modify a site\'s menu')
|
||||
def test_site_menu_modification_by_admin():
|
||||
pass
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Editor user can not modify a site\'s menu')
|
||||
def test_site_menu_modifications_permissions_for_editor():
|
||||
pass
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Admin user can delete a site')
|
||||
def test_site_deletion_by_admin():
|
||||
pass
|
||||
|
||||
|
||||
@mark.skip(reason="Test scenarios need work")
|
||||
@mark.skip(reason='Test scenarios need work')
|
||||
@bdd.scenario('site_management.feature', 'Editor user can not delete a site')
|
||||
def test_site_deletion_permissions_for_editor():
|
||||
pass
|
||||
|
@ -82,7 +82,7 @@ def user_credentials(user_role):
|
|||
@bdd.when('I create a site')
|
||||
def posted_response_from_auth_endpoint(user_credentials, api_base_uri):
|
||||
# TODO: Needs work
|
||||
response = requests.post("{}/auth".format(api_base_uri), json={
|
||||
response = requests.post(f'{api_base_uri}/auth', json={
|
||||
'username': user_credentials.username,
|
||||
'password': user_credentials.password,
|
||||
})
|
||||
|
|
|
@ -52,7 +52,7 @@ def user_credentials(user_type, login_type):
|
|||
|
||||
@bdd.when('I post my credentials against the auth endpoint')
|
||||
def posted_response_from_auth_endpoint(user_credentials, api_base_uri):
|
||||
response = requests.post("{}/auth".format(api_base_uri), json={
|
||||
response = requests.post(f'{api_base_uri}/auth', json={
|
||||
'username': user_credentials.username,
|
||||
'password': user_credentials.password,
|
||||
})
|
||||
|
|
|
@ -18,6 +18,6 @@ def convert_response_into_json(response: wrappers.Response) -> dict:
|
|||
"""
|
||||
content_type = response.content_type.lower()
|
||||
if content_type != "application/json":
|
||||
raise ValueError("Expected a JSON response. Got \"{}\" instead.".format(content_type))
|
||||
raise ValueError(f"Expected a JSON response. Got \"{content_type}\" instead.")
|
||||
json_text = response.get_data(as_text=True)
|
||||
return json.loads(json_text)
|
||||
|
|
Loading…
Reference in New Issue