3
0
Fork 0

fix: format all code with black

and from now on should not deviate from that...
This commit is contained in:
Lance Edgar 2025-08-30 21:25:44 -05:00
parent 49f9a0228b
commit a6bb538ce9
59 changed files with 2762 additions and 2131 deletions

View file

@ -11,7 +11,6 @@ except ImportError:
pass
else:
class TestAuthHandler(TestCase):
def setUp(self):
@ -19,7 +18,7 @@ else:
self.app = self.config.get_app()
self.handler = self.make_handler()
self.engine = sa.create_engine('sqlite://')
self.engine = sa.create_engine("sqlite://")
self.app.model.Base.metadata.create_all(bind=self.engine)
self.session = self.make_session()
@ -35,37 +34,37 @@ else:
def test_authenticate_user(self):
model = self.app.model
barney = model.User(username='barney')
self.handler.set_user_password(barney, 'goodpass')
barney = model.User(username="barney")
self.handler.set_user_password(barney, "goodpass")
self.session.add(barney)
self.session.commit()
# login ok
user = self.handler.authenticate_user(self.session, 'barney', 'goodpass')
user = self.handler.authenticate_user(self.session, "barney", "goodpass")
self.assertIs(user, barney)
# can also pass user instead of username
user = self.handler.authenticate_user(self.session, barney, 'goodpass')
user = self.handler.authenticate_user(self.session, barney, "goodpass")
self.assertIs(user, barney)
# bad password
user = self.handler.authenticate_user(self.session, 'barney', 'BADPASS')
user = self.handler.authenticate_user(self.session, "barney", "BADPASS")
self.assertIsNone(user)
# bad username
user = self.handler.authenticate_user(self.session, 'NOBODY', 'goodpass')
user = self.handler.authenticate_user(self.session, "NOBODY", "goodpass")
self.assertIsNone(user)
# inactive user
user = self.handler.authenticate_user(self.session, 'barney', 'goodpass')
user = self.handler.authenticate_user(self.session, "barney", "goodpass")
self.assertIs(user, barney)
barney.active = False
user = self.handler.authenticate_user(self.session, 'barney', 'goodpass')
user = self.handler.authenticate_user(self.session, "barney", "goodpass")
self.assertIsNone(user)
def test_authenticate_user_token(self):
model = self.app.model
barney = model.User(username='barney')
barney = model.User(username="barney")
self.session.add(barney)
token = self.handler.add_api_token(barney, "test token")
self.session.commit()
@ -73,32 +72,38 @@ else:
user = self.handler.authenticate_user_token(self.session, None)
self.assertIsNone(user)
user = self.handler.authenticate_user_token(self.session, token.token_string)
user = self.handler.authenticate_user_token(
self.session, token.token_string
)
self.assertIs(user, barney)
barney.active = False
self.session.flush()
user = self.handler.authenticate_user_token(self.session, token.token_string)
user = self.handler.authenticate_user_token(
self.session, token.token_string
)
self.assertIsNone(user)
barney.active = True
self.session.flush()
user = self.handler.authenticate_user_token(self.session, token.token_string)
user = self.handler.authenticate_user_token(
self.session, token.token_string
)
self.assertIs(user, barney)
user = self.handler.authenticate_user_token(self.session, 'bad-token')
user = self.handler.authenticate_user_token(self.session, "bad-token")
self.assertIsNone(user)
def test_check_user_password(self):
model = self.app.model
barney = model.User(username='barney')
self.handler.set_user_password(barney, 'goodpass')
barney = model.User(username="barney")
self.handler.set_user_password(barney, "goodpass")
self.session.add(barney)
self.session.commit()
# basics
self.assertTrue(self.handler.check_user_password(barney, 'goodpass'))
self.assertFalse(self.handler.check_user_password(barney, 'BADPASS'))
self.assertTrue(self.handler.check_user_password(barney, "goodpass"))
self.assertFalse(self.handler.check_user_password(barney, "BADPASS"))
def test_get_role(self):
model = self.app.model
@ -120,17 +125,17 @@ else:
# key may be represented within a setting
self.config.usedb = True
role = self.handler.get_role(self.session, 'mykey')
role = self.handler.get_role(self.session, "mykey")
self.assertIsNone(role)
setting = model.Setting(name='wutta.role.mykey', value=myrole.uuid.hex)
setting = model.Setting(name="wutta.role.mykey", value=myrole.uuid.hex)
self.session.add(setting)
self.session.commit()
role = self.handler.get_role(self.session, 'mykey')
role = self.handler.get_role(self.session, "mykey")
self.assertIs(role, myrole)
def test_get_user(self):
model = self.app.model
myuser = model.User(username='myuser')
myuser = model.User(username="myuser")
self.session.add(myuser)
self.session.commit()
@ -155,7 +160,7 @@ else:
self.assertIs(user, myuser)
# find user from person
myperson = model.Person(full_name='My Name')
myperson = model.Person(full_name="My Name")
self.session.add(myperson)
user.person = myperson
self.session.commit()
@ -173,11 +178,11 @@ else:
self.assertIsNone(person.full_name)
self.assertNotIn(person, self.session)
person = handler.make_person(first_name='Barney', last_name='Rubble')
person = handler.make_person(first_name="Barney", last_name="Rubble")
self.assertIsInstance(person, model.Person)
self.assertEqual(person.first_name, 'Barney')
self.assertEqual(person.last_name, 'Rubble')
self.assertEqual(person.full_name, 'Barney Rubble')
self.assertEqual(person.first_name, "Barney")
self.assertEqual(person.last_name, "Rubble")
self.assertEqual(person.full_name, "Barney Rubble")
self.assertNotIn(person, self.session)
def test_make_user(self):
@ -197,13 +202,13 @@ else:
# default username
# nb. this behavior requires a session
user = self.handler.make_user(session=self.session)
self.assertEqual(user.username, 'newuser')
self.assertEqual(user.username, "newuser")
def test_delete_user(self):
model = self.app.model
# basics
myuser = model.User(username='myuser')
myuser = model.User(username="myuser")
self.session.add(myuser)
self.session.commit()
user = self.session.query(model.User).one()
@ -217,67 +222,67 @@ else:
# default
name = self.handler.make_preferred_username(self.session)
self.assertEqual(name, 'newuser')
self.assertEqual(name, "newuser")
# person/first+last
person = model.Person(first_name='Barney', last_name='Rubble')
person = model.Person(first_name="Barney", last_name="Rubble")
name = self.handler.make_preferred_username(self.session, person=person)
self.assertEqual(name, 'barney.rubble')
self.assertEqual(name, "barney.rubble")
# person/first
person = model.Person(first_name='Barney')
person = model.Person(first_name="Barney")
name = self.handler.make_preferred_username(self.session, person=person)
self.assertEqual(name, 'barney')
self.assertEqual(name, "barney")
# person/last
person = model.Person(last_name='Rubble')
person = model.Person(last_name="Rubble")
name = self.handler.make_preferred_username(self.session, person=person)
self.assertEqual(name, 'rubble')
self.assertEqual(name, "rubble")
def test_make_unique_username(self):
model = self.app.model
# default
name = self.handler.make_unique_username(self.session)
self.assertEqual(name, 'newuser')
self.assertEqual(name, "newuser")
user = model.User(username=name)
self.session.add(user)
self.session.commit()
# counter invoked if name exists
name = self.handler.make_unique_username(self.session)
self.assertEqual(name, 'newuser01')
self.assertEqual(name, "newuser01")
user = model.User(username=name)
self.session.add(user)
self.session.commit()
# starts by getting preferred name
person = model.Person(first_name='Barney', last_name='Rubble')
person = model.Person(first_name="Barney", last_name="Rubble")
name = self.handler.make_unique_username(self.session, person=person)
self.assertEqual(name, 'barney.rubble')
self.assertEqual(name, "barney.rubble")
user = model.User(username=name)
self.session.add(user)
self.session.commit()
# counter invoked if name exists
name = self.handler.make_unique_username(self.session, person=person)
self.assertEqual(name, 'barney.rubble01')
self.assertEqual(name, "barney.rubble01")
def test_set_user_password(self):
model = self.app.model
myuser = model.User(username='myuser')
myuser = model.User(username="myuser")
self.session.add(myuser)
# basics
self.assertIsNone(myuser.password)
self.handler.set_user_password(myuser, 'goodpass')
self.handler.set_user_password(myuser, "goodpass")
self.session.commit()
self.assertIsNotNone(myuser.password)
# nb. password is hashed
self.assertNotEqual(myuser.password, 'goodpass')
self.assertNotEqual(myuser.password, "goodpass")
# confirm login works with new password
user = self.handler.authenticate_user(self.session, 'myuser', 'goodpass')
user = self.handler.authenticate_user(self.session, "myuser", "goodpass")
self.assertIs(user, myuser)
def test_get_role_administrator(self):
@ -337,15 +342,15 @@ else:
self.assertEqual(len(perms), 0)
# role perms
myrole = model.Role(name='My Role')
myrole = model.Role(name="My Role")
self.session.add(myrole)
self.handler.grant_permission(myrole, 'foo')
self.handler.grant_permission(myrole, "foo")
self.session.commit()
perms = self.handler.get_permissions(self.session, myrole)
self.assertEqual(perms, {'foo'})
self.assertEqual(perms, {"foo"})
# user perms
myuser = model.User(username='myuser')
myuser = model.User(username="myuser")
self.session.add(myuser)
self.session.commit()
perms = self.handler.get_permissions(self.session, myuser)
@ -353,7 +358,7 @@ else:
myuser.roles.append(myrole)
self.session.commit()
perms = self.handler.get_permissions(self.session, myuser)
self.assertEqual(perms, {'foo'})
self.assertEqual(perms, {"foo"})
# invalid principal
perms = self.handler.get_permissions(self.session, RuntimeError)
@ -368,39 +373,41 @@ else:
# false default for role
role = model.Role()
self.assertFalse(self.handler.has_permission(self.session, role, 'foo'))
self.assertFalse(self.handler.has_permission(self.session, role, "foo"))
# empty default for user
user = model.User()
self.assertFalse(self.handler.has_permission(self.session, user, 'foo'))
self.assertFalse(self.handler.has_permission(self.session, user, "foo"))
# role perms
myrole = model.Role(name='My Role')
myrole = model.Role(name="My Role")
self.session.add(myrole)
self.session.commit()
self.assertFalse(self.handler.has_permission(self.session, myrole, 'foo'))
self.handler.grant_permission(myrole, 'foo')
self.assertFalse(self.handler.has_permission(self.session, myrole, "foo"))
self.handler.grant_permission(myrole, "foo")
self.session.commit()
self.assertTrue(self.handler.has_permission(self.session, myrole, 'foo'))
self.assertTrue(self.handler.has_permission(self.session, myrole, "foo"))
# user perms
myuser = model.User(username='myuser')
myuser = model.User(username="myuser")
self.session.add(myuser)
self.session.commit()
self.assertFalse(self.handler.has_permission(self.session, myuser, 'foo'))
self.assertFalse(self.handler.has_permission(self.session, myuser, "foo"))
myuser.roles.append(myrole)
self.session.commit()
self.assertTrue(self.handler.has_permission(self.session, myuser, 'foo'))
self.assertTrue(self.handler.has_permission(self.session, myuser, "foo"))
# invalid principal
self.assertFalse(self.handler.has_permission(self.session, RuntimeError, 'foo'))
self.assertFalse(
self.handler.has_permission(self.session, RuntimeError, "foo")
)
# missing principal
self.assertFalse(self.handler.has_permission(self.session, None, 'foo'))
self.assertFalse(self.handler.has_permission(self.session, None, "foo"))
def test_grant_permission(self):
model = self.app.model
myrole = model.Role(name='My Role')
myrole = model.Role(name="My Role")
self.session.add(myrole)
self.session.commit()
@ -408,38 +415,38 @@ else:
self.assertEqual(self.session.query(model.Permission).count(), 0)
# grant one perm, and confirm
self.handler.grant_permission(myrole, 'foo')
self.handler.grant_permission(myrole, "foo")
self.session.commit()
self.assertEqual(self.session.query(model.Permission).count(), 1)
perm = self.session.query(model.Permission).one()
self.assertIs(perm.role, myrole)
self.assertEqual(perm.permission, 'foo')
self.assertEqual(perm.permission, "foo")
# grant same perm again, confirm just one exists
self.handler.grant_permission(myrole, 'foo')
self.handler.grant_permission(myrole, "foo")
self.session.commit()
self.assertEqual(self.session.query(model.Permission).count(), 1)
perm = self.session.query(model.Permission).one()
self.assertIs(perm.role, myrole)
self.assertEqual(perm.permission, 'foo')
self.assertEqual(perm.permission, "foo")
def test_revoke_permission(self):
model = self.app.model
myrole = model.Role(name='My Role')
myrole = model.Role(name="My Role")
self.session.add(myrole)
self.handler.grant_permission(myrole, 'foo')
self.handler.grant_permission(myrole, "foo")
self.session.commit()
# just the one perm
self.assertEqual(self.session.query(model.Permission).count(), 1)
# revoke it, then confirm
self.handler.revoke_permission(myrole, 'foo')
self.handler.revoke_permission(myrole, "foo")
self.session.commit()
self.assertEqual(self.session.query(model.Permission).count(), 0)
# revoke again, confirm
self.handler.revoke_permission(myrole, 'foo')
self.handler.revoke_permission(myrole, "foo")
self.session.commit()
self.assertEqual(self.session.query(model.Permission).count(), 0)
@ -450,7 +457,7 @@ else:
def test_add_api_token(self):
model = self.app.model
barney = model.User(username='barney')
barney = model.User(username="barney")
self.session.add(barney)
token = self.handler.add_api_token(barney, "test token")
@ -461,7 +468,7 @@ else:
def test_delete_api_token(self):
model = self.app.model
barney = model.User(username='barney')
barney = model.User(username="barney")
self.session.add(barney)
token = self.handler.add_api_token(barney, "test token")
self.session.commit()