chore(): switched all fields in contract to snake_case and linting improvements

This commit is contained in:
ITQ
2026-02-12 22:17:55 +03:00
parent 102f425259
commit 362398d56b
32 changed files with 401 additions and 353 deletions
+2 -1
View File
@@ -1,7 +1,7 @@
import logging
from collections.abc import Callable
from functools import wraps
from typing import Any
from typing import Any, override
from django.http import HttpRequest
from ninja.security import HttpBearer
@@ -14,6 +14,7 @@ logger: logging.Logger = logging.getLogger("lotty")
class JWTBearer(HttpBearer):
@override
def authenticate(
self,
request: HttpRequest,
@@ -1,3 +1,5 @@
from typing import override
from django.core.management.base import BaseCommand, CommandParser
from apps.users.models import User, UserRole
@@ -59,6 +61,7 @@ class Command(BaseCommand):
"(admin, experimenter, approver, viewer)."
)
@override
def add_arguments(self, parser: CommandParser) -> None:
parser.add_argument(
"--password",
@@ -79,6 +82,7 @@ class Command(BaseCommand):
),
)
@override
def handle(self, *args, **options) -> None:
password: str = options["password"]
force: bool = options["force"]
@@ -0,0 +1,18 @@
# Generated by Django 5.2.11 on 2026-02-12 18:41
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='user',
name='role',
field=models.CharField(choices=[('admin', 'Admin'), ('experimenter', 'Experimenter'), ('approver', 'Approver'), ('viewer', 'Viewer')], db_index=True, default='viewer', help_text='Platform role that defines user permissions', max_length=20, verbose_name='role'),
),
]
@@ -3,7 +3,7 @@ from apps.users.models import User, UserRole
from apps.users.services import user_create
def _make_user(
def make_user(
username="testuser",
email="test@lotty.local",
password="testpass123", # noqa: S107
@@ -19,6 +19,6 @@ def _make_user(
)
def _auth_header(user) -> str:
def auth_header(user) -> str:
token: str = create_access_token(user.pk, user.role)
return f"Bearer {token}"
+5 -3
View File
@@ -1,6 +1,6 @@
import uuid
from datetime import timedelta
from typing import Any
from typing import Any, override
from django.core.handlers.wsgi import WSGIRequest
from django.test import RequestFactory, TestCase
@@ -17,7 +17,7 @@ from apps.users.auth.jwt import (
)
from apps.users.models import User, UserRole
from ._helpers import _make_user
from .helpers import make_user
class JWTCreateTest(TestCase):
@@ -37,6 +37,7 @@ class JWTCreateTest(TestCase):
class JWTDecodeTest(TestCase):
@override
def setUp(self) -> None:
self.uid: uuid.UUID = uuid.uuid4()
@@ -78,9 +79,10 @@ class JWTDecodeTest(TestCase):
class JWTBearerTest(TestCase):
@override
def setUp(self) -> None:
self.bearer = JWTBearer()
self.user: User = _make_user(
self.user: User = make_user(
username="bearer_user",
email="bearer@x.com",
role=UserRole.ADMIN,
+8 -8
View File
@@ -4,7 +4,7 @@ from django.test import TestCase
from apps.users.models import User, UserRole
from ._helpers import _make_user
from .helpers import make_user
class UserRoleChoicesTest(TestCase):
@@ -20,11 +20,11 @@ class UserRoleChoicesTest(TestCase):
class UserModelTest(TestCase):
def test_default_role_is_viewer(self) -> None:
user: User = _make_user()
user: User = make_user()
self.assertEqual(user.role, UserRole.VIEWER)
def test_role_properties(self) -> None:
admin: User = _make_user(
admin: User = make_user(
username="a", email="a@x.com", role=UserRole.ADMIN
)
self.assertTrue(admin.is_admin_role)
@@ -32,25 +32,25 @@ class UserModelTest(TestCase):
self.assertFalse(admin.is_approver)
self.assertFalse(admin.is_viewer)
exp: User = _make_user(
exp: User = make_user(
username="e", email="e@x.com", role=UserRole.EXPERIMENTER
)
self.assertTrue(exp.is_experimenter)
appr: User = _make_user(
appr: User = make_user(
username="ap", email="ap@x.com", role=UserRole.APPROVER
)
self.assertTrue(appr.is_approver)
viewer: User = _make_user(
viewer: User = make_user(
username="v", email="v@x.com", role=UserRole.VIEWER
)
self.assertTrue(viewer.is_viewer)
def test_uuid_primary_key(self) -> None:
user: User = _make_user()
user: User = make_user()
self.assertIsInstance(user.pk, uuid.UUID)
def test_str_representation(self) -> None:
user: User = _make_user(username="hello")
user: User = make_user(username="hello")
self.assertEqual(str(user), "hello")
@@ -1,3 +1,5 @@
from typing import override
from django.core.handlers.wsgi import WSGIRequest
from django.test import RequestFactory, TestCase
@@ -5,15 +7,16 @@ from apps.users.auth.bearer import require_admin, require_roles
from apps.users.models import User, UserRole
from config.errors import ForbiddenError
from ._helpers import _make_user
from .helpers import make_user
class RequireRolesTest(TestCase):
@override
def setUp(self) -> None:
self.admin: User = _make_user(
self.admin: User = make_user(
username="rr_admin", email="rr_admin@x.com", role=UserRole.ADMIN
)
self.viewer: User = _make_user(
self.viewer: User = make_user(
username="rr_viewer", email="rr_viewer@x.com", role=UserRole.VIEWER
)
@@ -1,4 +1,5 @@
import uuid
from typing import override
from django.db.models import QuerySet
from django.test import TestCase
@@ -18,27 +19,28 @@ from apps.users.selectors import (
user_list_viewers,
)
from ._helpers import _make_user
from .helpers import make_user
class UserSelectorsTest(TestCase):
@override
def setUp(self) -> None:
self.admin: User = _make_user(
self.admin: User = make_user(
username="sel_admin",
email="sel_admin@x.com",
role=UserRole.ADMIN,
)
self.exp: User = _make_user(
self.exp: User = make_user(
username="sel_exp",
email="sel_exp@x.com",
role=UserRole.EXPERIMENTER,
)
self.appr: User = _make_user(
self.appr: User = make_user(
username="sel_appr",
email="sel_appr@x.com",
role=UserRole.APPROVER,
)
self.viewer: User = _make_user(
self.viewer: User = make_user(
username="sel_viewer",
email="sel_viewer@x.com",
role=UserRole.VIEWER,
+10 -5
View File
@@ -1,3 +1,5 @@
from typing import override
from django.core.exceptions import ValidationError
from django.test import TestCase
@@ -11,7 +13,7 @@ from apps.users.services import (
user_update,
)
from ._helpers import _make_user
from .helpers import make_user
class UserCreateServiceTest(TestCase):
@@ -54,8 +56,9 @@ class UserCreateServiceTest(TestCase):
class UserUpdateServiceTest(TestCase):
@override
def setUp(self) -> None:
self.user: User = _make_user()
self.user: User = make_user()
def test_update_username(self) -> None:
updated: User = user_update(user=self.user, username="newname")
@@ -91,8 +94,9 @@ class UserUpdateServiceTest(TestCase):
class UserAssignRoleServiceTest(TestCase):
@override
def setUp(self) -> None:
self.user: User = _make_user()
self.user: User = make_user()
def test_assign_valid_role(self) -> None:
updated: User = user_assign_role(
@@ -107,15 +111,16 @@ class UserAssignRoleServiceTest(TestCase):
class UserDeleteServiceTest(TestCase):
def test_hard_delete(self) -> None:
user: User = _make_user()
user: User = make_user()
pk = user.pk
user_delete(user=user)
self.assertFalse(User.objects.filter(pk=pk).exists())
class UserActivateDeactivateServiceTest(TestCase):
@override
def setUp(self) -> None:
self.user: User = _make_user()
self.user: User = make_user()
def test_deactivate(self) -> None:
updated: User = user_deactivate(user=self.user)