diff --git a/ordr3/__init__.py b/ordr3/__init__.py
index df0f4c8..951a213 100644
--- a/ordr3/__init__.py
+++ b/ordr3/__init__.py
@@ -11,8 +11,7 @@ from pyramid.session import JSONSerializer, SignedCookieSessionFactory
def main(global_config, **settings):
- """ This function returns a Pyramid WSGI application.
- """
+ """This function returns a Pyramid WSGI application."""
with Configurator(settings=settings) as config:
session_factory = SignedCookieSessionFactory(
diff --git a/ordr3/events.py b/ordr3/events.py
index a323c8e..97c3571 100644
--- a/ordr3/events.py
+++ b/ordr3/events.py
@@ -105,7 +105,7 @@ def emit(request, event):
def includeme(config):
- """ initializing Events sytem for the Pyramid app
+ """initializing Events sytem for the Pyramid app
Activate this setup using ``config.include('ordr2.events')``.
"""
diff --git a/ordr3/routes.py b/ordr3/routes.py
index c9987c6..a4ef405 100644
--- a/ordr3/routes.py
+++ b/ordr3/routes.py
@@ -1,5 +1,5 @@
def includeme(config):
- """ Initialize routes in a Pyramid app.
+ """Initialize routes in a Pyramid app.
Activate this setup using ``config.include('ordr3.routes')``.
diff --git a/ordr3/schemas/__init__.py b/ordr3/schemas/__init__.py
index 5028b0f..4315f54 100644
--- a/ordr3/schemas/__init__.py
+++ b/ordr3/schemas/__init__.py
@@ -5,7 +5,7 @@ from pkg_resources import resource_filename
def includeme(config):
- """ Defining form templates overrides
+ """Defining form templates overrides
Activate this setup using ``config.include('ordr3.schemas')``.
"""
diff --git a/ordr3/schemas/orders.py b/ordr3/schemas/orders.py
index 3142cbd..c1c3499 100644
--- a/ordr3/schemas/orders.py
+++ b/ordr3/schemas/orders.py
@@ -11,7 +11,7 @@ STATI = [(s.name, s.name.capitalize()) for s in OrderStatus]
class OrderStatus(colander.Schema):
- """ schema for editing order status
+ """schema for editing order status
parital schema, used in EditOrderSchema
"""
@@ -28,7 +28,7 @@ class OrderStatus(colander.Schema):
class OrderItem(colander.Schema):
- """ schema for editing order information
+ """schema for editing order information
parital schema, used in NewOrderSchema and EditOrderSchema
"""
@@ -116,7 +116,7 @@ class MoneyInputSchema(colander.Schema):
class OrderPricing(colander.Schema):
- """ schema for editing price information
+ """schema for editing price information
parital schema, used in NewOrderSchema and EditOrderSchema
"""
@@ -140,7 +140,7 @@ class OrderPricing(colander.Schema):
class OrderOptionals(colander.Schema):
- """ schema for editing optional information
+ """schema for editing optional information
parital schema, used in NewOrderSchema and EditOrderSchema
"""
diff --git a/ordr3/security.py b/ordr3/security.py
index 861f190..dc51263 100644
--- a/ordr3/security.py
+++ b/ordr3/security.py
@@ -11,7 +11,7 @@ class AuthenticationPolicy(AuthTktAuthenticationPolicy):
""" How to authenticate users """
def authenticated_userid(self, request):
- """ returns the id of an authenticated user
+ """returns the id of an authenticated user
heavy lifting done in get_user() attached to request
"""
@@ -50,7 +50,7 @@ def get_passlib_context():
def includeme(config):
- """ initializing authentication and authorization for the Pyramid app
+ """initializing authentication and authorization for the Pyramid app
Activate this setup using ``config.include('ordr2.security')``.
"""
diff --git a/ordr3/services.py b/ordr3/services.py
index 236fbaa..f5f78c9 100644
--- a/ordr3/services.py
+++ b/ordr3/services.py
@@ -12,7 +12,7 @@ CONSUMABLE_STATI = {models.OrderStatus.ORDERED, models.OrderStatus.COMPLETED}
MSG_SHORT_PASSWORD = events.FlashMessage.warning(
- f"Your password is quite short.",
+ "Your password is quite short.",
(
'Have a look at '
"this comic strip why longer passwords are better."
@@ -132,7 +132,7 @@ def set_new_password(user, password, event_queue):
def check_have_i_been_pwned(password, event_queue):
- """ public function for checking haveibeenpwned
+ """public function for checking haveibeenpwned
this is just a small shim to eas testing"""
password_hash = hashlib.sha1(password.encode()).hexdigest()
@@ -140,7 +140,7 @@ def check_have_i_been_pwned(password, event_queue):
def _check_have_i_been_pwned(password_hash, event_queue):
- """ chech haveibeenpwned for password leak
+ """chech haveibeenpwned for password leak
This function does the heavy lifting for check_have_i_been_pwned()
"""
diff --git a/ordr3/views/__init__.py b/ordr3/views/__init__.py
index 5a24813..50c8b90 100644
--- a/ordr3/views/__init__.py
+++ b/ordr3/views/__init__.py
@@ -61,7 +61,7 @@ def jinja_nl2br(text, replacement="
"):
def includeme(config):
- """ adding request helpers
+ """adding request helpers
Activate this setup using ``config.include('ordr3.views')``.
"""
diff --git a/tests/functional/conftest.py b/tests/functional/conftest.py
index e6ae9e7..c276e60 100644
--- a/tests/functional/conftest.py
+++ b/tests/functional/conftest.py
@@ -41,6 +41,7 @@ def _pyramid_app():
@pytest.fixture
def _sqlite_repo(_pyramid_app):
from pyramid.scripting import prepare
+
from ordr3 import adapters
with prepare() as env:
@@ -52,9 +53,10 @@ def _sqlite_repo(_pyramid_app):
@pytest.fixture
def _example_data(_sqlite_repo):
- from ordr3 import models, security
from datetime import datetime, timedelta
+ from ordr3 import models, security
+
today = datetime.utcnow()
crypt_context = security.get_passlib_context()
diff --git a/tests/test_adapters.py b/tests/test_adapters.py
index 0dc44b8..3fe7ae8 100644
--- a/tests/test_adapters.py
+++ b/tests/test_adapters.py
@@ -23,7 +23,7 @@ def order_sql():
def test_order_mapper(session, order_sql):
- from ordr3.models import OrderItem, OrderCategory, OrderStatus
+ from ordr3.models import OrderItem, OrderStatus, OrderCategory
session.execute(order_sql)
expected = [
@@ -119,7 +119,7 @@ def test_user_mapper(session):
def test_adapter_behaviour(session):
- from ordr3.models import OrderItem, OrderCategory, OrderStatus, LogEntry
+ from ordr3.models import LogEntry, OrderItem, OrderStatus, OrderCategory
order = OrderItem(
None,
diff --git a/tests/test_models.py b/tests/test_models.py
index 9d135a2..e014c51 100644
--- a/tests/test_models.py
+++ b/tests/test_models.py
@@ -39,7 +39,7 @@ def test_orderitem_total_price():
def test_orderitem_add_to_log_empty_log():
- from ordr3.models import OrderItem, LogEntry
+ from ordr3.models import LogEntry, OrderItem
order = OrderItem(*list("ABCDEFGHIJK"))
log_entry = LogEntry(order, "critical", "me", "yesterday")
@@ -51,7 +51,7 @@ def test_orderitem_add_to_log_empty_log():
def test_orderitem_add_to_log_non_empty_log():
- from ordr3.models import OrderItem, LogEntry
+ from ordr3.models import LogEntry, OrderItem
order = OrderItem(*list("ABCDEFGHIJK"))
log_entry_1 = LogEntry(order, "critical", "me", "yesterday")
@@ -203,9 +203,10 @@ def test_password_reset_token_init():
def test_password_reset_token_init_auto_validity():
- from ordr3.models import PasswordResetToken
from datetime import datetime, timedelta
+ from ordr3.models import PasswordResetToken
+
token = PasswordResetToken(*list("AB"))
assert token.token == "A"
@@ -222,9 +223,10 @@ def test_password_reset_token_is_valid_ok():
def test_password_reset_token_is_valid_not_ok():
- from ordr3.models import PasswordResetToken
from datetime import datetime, timedelta
+ from ordr3.models import PasswordResetToken
+
invalid_time = datetime.utcnow() - timedelta(hours=1)
token = PasswordResetToken(*list("AB"), invalid_time)
@@ -240,9 +242,10 @@ def test_password_reset_token_is_valid_invalid_time_format():
def test_password_reset_token_repr():
- from ordr3.models import PasswordResetToken
from datetime import datetime
+ from ordr3.models import PasswordResetToken
+
valid_until = datetime(2020, 4, 2, 10, 11, 12)
token = PasswordResetToken(*list("AB"), valid_until)
diff --git a/tests/test_repo.py b/tests/test_repo.py
index e411c36..58688c4 100644
--- a/tests/test_repo.py
+++ b/tests/test_repo.py
@@ -4,7 +4,8 @@ import pytest
@pytest.fixture()
def example_order_data():
from datetime import datetime
- from ordr3.models import OrderCategory, OrderStatus
+
+ from ordr3.models import OrderStatus, OrderCategory
return [
(
@@ -52,6 +53,7 @@ def example_orders(example_order_data):
@pytest.fixture()
def example_consumables(example_order_data):
from datetime import datetime, timedelta
+
from ordr3.models import OrderItem
consumables = []
@@ -77,9 +79,10 @@ def example_users():
@pytest.fixture()
def example_tokens():
- from ordr3.models import PasswordResetToken
from datetime import datetime, timedelta
+ from ordr3.models import PasswordResetToken
+
valid = datetime.utcnow() + timedelta(days=2)
invalid = datetime.utcnow() - timedelta(days=2)
@@ -116,8 +119,8 @@ def test_sql_repo_add_order(session, example_orders):
def test_sql_repo_delete_order(session, example_orders):
from ordr3.repo import SqlAlchemyRepository
+ from ordr3.models import User, LogEntry, OrderItem, OrderStatus
from ordr3.services import create_log_entry
- from ordr3.models import LogEntry, OrderStatus, User, OrderItem
repo = SqlAlchemyRepository(session)
repo.add_order(example_orders[0])
@@ -146,7 +149,7 @@ def test_sql_repo_get_order(session, example_orders):
def test_sql_repo_get_order_raises_exception(session, example_orders):
- from ordr3.repo import SqlAlchemyRepository, RepoItemNotFound
+ from ordr3.repo import RepoItemNotFound, SqlAlchemyRepository
repo = SqlAlchemyRepository(session)
repo.add_order(example_orders[0])
@@ -157,9 +160,10 @@ def test_sql_repo_get_order_raises_exception(session, example_orders):
def test_sql_list_consumable_candidates(session, example_consumables):
+ from datetime import datetime, timedelta
+
from ordr3.repo import SqlAlchemyRepository
from ordr3.models import OrderStatus
- from datetime import datetime, timedelta
repo = SqlAlchemyRepository(session)
for example in example_consumables:
@@ -215,7 +219,7 @@ def test_sql_repo_get_user(session, example_users):
def test_sql_repo_get_user_raises_exception(session, example_users):
- from ordr3.repo import SqlAlchemyRepository, RepoItemNotFound
+ from ordr3.repo import RepoItemNotFound, SqlAlchemyRepository
repo = SqlAlchemyRepository(session)
repo.add_user(example_users[0])
@@ -237,7 +241,7 @@ def test_sql_repo_get_user_by_username(session, example_users):
def test_sql_repo_get_user_by_username_exception(session, example_users):
- from ordr3.repo import SqlAlchemyRepository, RepoItemNotFound
+ from ordr3.repo import RepoItemNotFound, SqlAlchemyRepository
repo = SqlAlchemyRepository(session)
repo.add_user(example_users[0])
@@ -259,7 +263,7 @@ def test_sql_repo_get_user_by_email(session, example_users):
def test_sql_repo_get_user_by_email_exception(session, example_users):
- from ordr3.repo import SqlAlchemyRepository, RepoItemNotFound
+ from ordr3.repo import RepoItemNotFound, SqlAlchemyRepository
repo = SqlAlchemyRepository(session)
repo.add_user(example_users[0])
@@ -311,7 +315,7 @@ def test_sql_get_vendor_aggregates(session, example_vendors):
def test_sql_get_vendor_aggregates_raises_error(session):
- from ordr3.repo import SqlAlchemyRepository, RepoItemNotFound
+ from ordr3.repo import RepoItemNotFound, SqlAlchemyRepository
repo = SqlAlchemyRepository(session)
@@ -383,7 +387,7 @@ def test_sql_repo_get_reset_token(session, example_tokens):
def test_sql_repo_get_reset_token_raises_exception(session, example_tokens):
- from ordr3.repo import SqlAlchemyRepository, RepoItemNotFound
+ from ordr3.repo import RepoItemNotFound, SqlAlchemyRepository
repo = SqlAlchemyRepository(session)
repo.add_reset_token(example_tokens[0])
diff --git a/tests/test_services.py b/tests/test_services.py
index 77ce8d1..bb6feee 100644
--- a/tests/test_services.py
+++ b/tests/test_services.py
@@ -116,7 +116,8 @@ class FakeEventQueue(list):
@pytest.fixture
def prefilled_repo():
from itertools import count
- from ordr3.models import OrderItem, OrderStatus, Vendor
+
+ from ordr3.models import Vendor, OrderItem, OrderStatus
i = count()
catalog = {1: "Ethanol", 2: "Aceton", 3: "NaOH", 4: "Coffee", 5: "Water"}
@@ -165,8 +166,8 @@ def test_service_find_consumables(prefilled_repo):
def test_create_log_entry_noteworthy(prefilled_repo):
+ from ordr3.models import User, OrderStatus
from ordr3.services import create_log_entry
- from ordr3.models import OrderStatus, User
order = prefilled_repo.get_order(1)
user_1 = User(*list("ABCDEFG"))
@@ -190,8 +191,8 @@ def test_create_log_entry_noteworthy(prefilled_repo):
def test_create_log_entry_not_noteworthy_same_user(prefilled_repo):
+ from ordr3.models import User, OrderStatus
from ordr3.services import create_log_entry
- from ordr3.models import OrderStatus, User
order = prefilled_repo.get_order(1)
user = User(*list("ABCDEFG"))
@@ -203,8 +204,8 @@ def test_create_log_entry_not_noteworthy_same_user(prefilled_repo):
def test_create_log_entry_not_noteworthy_same_status(prefilled_repo):
+ from ordr3.models import User, OrderStatus
from ordr3.services import create_log_entry
- from ordr3.models import OrderStatus, User
order = prefilled_repo.get_order(1)
user = User(*list("ABCDEFG"))
@@ -398,7 +399,7 @@ def test_set_new_password_to_short_and_breached(monkeypatch):
def test_get_user_from_reset_token_ok():
from ordr3 import services
- from ordr3.models import PasswordResetToken, User
+ from ordr3.models import User, PasswordResetToken
repo = FakeOrderRepository(None)
user = User(*list("ABCDEFG"))
@@ -413,7 +414,7 @@ def test_get_user_from_reset_token_ok():
def test_get_user_from_reset_token_wrong_token():
from ordr3 import services
- from ordr3.models import PasswordResetToken, User
+ from ordr3.models import User, PasswordResetToken
repo = FakeOrderRepository(None)
user = User(*list("ABCDEFG"))
@@ -427,10 +428,11 @@ def test_get_user_from_reset_token_wrong_token():
def test_get_user_from_reset_token_invalid_token():
- from ordr3 import services
- from ordr3.models import PasswordResetToken, User
from datetime import datetime, timedelta
+ from ordr3 import services
+ from ordr3.models import User, PasswordResetToken
+
repo = FakeOrderRepository(None)
user = User(*list("ABCDEFG"))
repo.add_user(user)
@@ -445,7 +447,7 @@ def test_get_user_from_reset_token_invalid_token():
def test_get_user_from_reset_token_unknown_user():
from ordr3 import services
- from ordr3.models import PasswordResetToken, User
+ from ordr3.models import User, PasswordResetToken
repo = FakeOrderRepository(None)
user = User(*list("ABCDEFG"))
@@ -459,8 +461,8 @@ def test_get_user_from_reset_token_unknown_user():
def test_create_token_for_user():
+ from ordr3.models import User, PasswordResetToken
from ordr3.services import create_token_for_user
- from ordr3.models import PasswordResetToken, User
repo = FakeOrderRepository(None)
user = User(*list("ABCDEFG"))