Skip to content

Commit

Permalink
add linters refactoring for new commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Roman-Zhirovskis committed Jun 30, 2023
1 parent c69e320 commit 0c99cac
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 148 deletions.
6 changes: 0 additions & 6 deletions backend/users/backend/common/services/jwt/token.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,9 @@ class Token(BaseToken, JWTMixin):
@staticmethod
def validate_user(user: BaseAbstractUser):
if user.is_active is not True:
<<<<<<< HEAD
raise UserInActive('Пользователь не активный')
elif user.is_banned is not False:
raise UserBanned('Пользователь заблокирован')
=======
raise UserInActive("Пользователь долджен быть активным")
elif user.is_banned is not False:
raise UserBanned("Пользователь не должен быть забанен")
>>>>>>> 9b94887 (* refactor pre-commit/git@actions *refactor all project code by linters)

@staticmethod
def validate_payload_data(data: dict):
Expand Down
57 changes: 20 additions & 37 deletions backend/users/backend/common/services/jwt/users_payload.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ def __init__(self, user: BaseAbstractUser):
def generate_payload(self):
common_payload = self.get_common_payload()
admin_payload = {
'email': self.user.email,
'phone': self.user.phone,
'country': self.user.country,
'created_at': str(self.user.created_at),
'update_at': str(self.user.update_at),
'is_superuser': self.user.is_superuser,
'groups': list(self.user.groups.all()),
'user_permissions': list(self.user.user_permissions.all()),
'developer_groups': list(self.user.developer_groups.all()),
'developer_permissions': list(self.user.developer_permissions.all()),
"email": self.user.email,
"phone": self.user.phone,
"country": self.user.country,
"created_at": str(self.user.created_at),
"update_at": str(self.user.update_at),
"is_superuser": self.user.is_superuser,
"groups": list(self.user.groups.all()),
"user_permissions": list(self.user.user_permissions.all()),
"developer_groups": list(self.user.developer_groups.all()),
"developer_permissions": list(self.user.developer_permissions.all()),
}
payload = common_payload | admin_payload

Expand All @@ -50,16 +50,16 @@ def generate_payload(self):
common_payload = self.get_common_payload()
company = self.user.company if self.user.company is not None else {}
developer_payload = {
'email': self.user.email,
'phone': self.user.phone,
'country': self.user.country,
'created_at': str(self.user.created_at),
'update_at': str(self.user.update_at),
'is_active': self.user.is_active,
'is_superuser': self.user.is_superuser,
'groups': list(self.user.groups.all()),
'user_permissions': list(self.user.user_permissions.all()),
'company': company,
"email": self.user.email,
"phone": self.user.phone,
"country": self.user.country,
"created_at": str(self.user.created_at),
"update_at": str(self.user.update_at),
"is_active": self.user.is_active,
"is_superuser": self.user.is_superuser,
"groups": list(self.user.groups.all()),
"user_permissions": list(self.user.user_permissions.all()),
"company": company,
}
payload = common_payload | developer_payload

Expand All @@ -72,25 +72,8 @@ def __init__(self, user: BaseAbstractUser):

def generate_payload(self):
common_payload = self.get_common_payload()
<<<<<<< HEAD
common_payload['age'] = self.user.age
customer_payload = {
'email': self.user.email,
'phone': self.user.phone,
'created_at': str(self.user.created_at),
'update_at': str(self.user.update_at),
'friends': list(self.user.friends.all()),
'birthday': str(self.user.birthday),
'is_active': self.user.is_active,
'country': self.user.country,
}
payload = common_payload | customer_payload

return payload
=======
common_payload["age"] = self.user.age
return common_payload
>>>>>>> 9b94887 (* refactor pre-commit/git@actions *refactor all project code by linters)


class PayloadFactory:
Expand Down
19 changes: 2 additions & 17 deletions backend/users/backend/common/tests/test_jwt.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,17 @@
from datetime import datetime, timedelta
from typing import Type

<<<<<<< HEAD
from config.settings import redis_config
from django.test import TestCase
from django.utils import timezone

=======
>>>>>>> 9b94887 (* refactor pre-commit/git@actions *refactor all project code by linters)
from administrator.models import Admin
from base.exceptions import UserBanned, UserInActive
from base.models import BaseAbstractUser
from common.services.jwt.exceptions import PayloadError, TokenExpired, TokenInvalid
from common.services.jwt.token import Token
from config.settings import redis_config
from customer.models import CustomerUser
from developer.models import CompanyUser

<<<<<<< HEAD
from utils.db.redis_client import RedisAccessClient

=======
from django.test import TestCase
from django.utils import timezone

>>>>>>> 9b94887 (* refactor pre-commit/git@actions *refactor all project code by linters)
from utils.db.redis_client import RedisAccessClient


class TestTokenJWT(TestCase):
Expand Down Expand Up @@ -99,10 +87,7 @@ def test_create_tokens_for_customer_user(self):

def test_create_tokens_for_inactive_admin_user(self):
self.administrator.is_active = False
<<<<<<< HEAD
=======
print("inactive", self.administrator.is_active)
>>>>>>> 9b94887 (* refactor pre-commit/git@actions *refactor all project code by linters)
self.assertRaises(UserInActive, self.token.generate_tokens_for_user, self.administrator)

def test_create_tokens_for_inactive_developer_user(self):
Expand Down
7 changes: 1 addition & 6 deletions backend/users/backend/common/tests/test_totp.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,10 @@
from typing import Type
from unittest.mock import patch

<<<<<<< HEAD
from config.settings import redis_config
from django.test import TestCase

=======
>>>>>>> 9b94887 (* refactor pre-commit/git@actions *refactor all project code by linters)
from administrator.models import Admin
from base.models import BaseAbstractUser
from common.services.totp import TOTPToken
from config.settings import redis_config
from customer.models import CustomerUser
from developer.models import CompanyUser
from django.test import TestCase
Expand Down
18 changes: 0 additions & 18 deletions backend/users/backend/config/settings/redis_config.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,5 @@
import os

<<<<<<< HEAD

REDIS_LOCAL_HOST = os.getenv('REDIS_LOCAL_HOST', 'redis')
REDIS_LOCAL_PORT = int(os.getenv('REDIS_LOCAL_PORT', 6379))
REDIS_LOCAL_PASSWORD = os.getenv('REDIS_LOCAL_PASSWORD', None)

REDIS_SHARED_HOST = os.getenv('REDIS_SHARED_HOST', 'redis')
REDIS_SHARED_PORT = int(os.getenv('REDIS_SHARED_PORT', 6379))
REDIS_SHARED_PASSWORD = os.getenv('REDIS_SHARED_PASSWORD', None)

REDIS_ACCESS_DB = int(os.getenv('REDIS_ACCESS_DB', 0))
REDIS_REFRESH_DB = int(os.getenv('REDIS_REFRESH_DB', 1))
REDIS_TOTP_DB = int(os.getenv('REDIS_TOTP_DB', 2))
REDIS_ACCESS_PREFIX = os.getenv('REDIS_ACCESS_PREFIX', 'access')
REDIS_REFRESH_PREFIX = os.getenv('REDIS_REFRESH_PREFIX', 'refresh')
REDIS_TOTP_PREFIX = os.getenv('REDIS_TOTP_PREFIX', 'totp')
=======
REDIS_HOST = os.getenv("REDIS_HOST", "redis")
REDIS_PORT = os.getenv("REDIS_PORT", 6379)
REDIS_ACCESS_DB = os.getenv("REDIS_ACCESS_DB", 0)
Expand All @@ -26,4 +9,3 @@
REDIS_ACCESS_PREFIX = os.getenv("REDIS_ACCESS_PREFIX", "access")
REDIS_REFRESH_PREFIX = os.getenv("REDIS_REFRESH_PREFIX", "refresh")
REDIS_TOTP_PREFIX = os.getenv("REDIS_TOTP_PREFIX", "totp")
>>>>>>> 9b94887 (* refactor pre-commit/git@actions *refactor all project code by linters)
94 changes: 30 additions & 64 deletions backend/users/backend/utils/tests/test_redis.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,35 +24,53 @@ def setUp(self) -> None:
self.administrator = self.create_user(Admin)
self.customer = self.create_user(CustomerUser)
self.redis_access_client = RedisAccessClient(
host=host, port=port, db=access_db, password=password
host=host,
port=port,
db=access_db,
password=password,
)
self.redis_refresh_client = RedisRefreshClient(
host=host, port=port, db=refresh_db, password=password
host=host,
port=port,
db=refresh_db,
password=password,
)
self.redis_totp_client = RedisTotpClient(
host=host, port=port, db=totp_db, password=password
host=host,
port=port,
db=totp_db,
password=password,
)
self.redis_access_client_basik = RedisAccessClient(
host=host, port=port, db=3, password=password
host=host,
port=port,
db=3,
password=password,
)
self.redis_refresh_client_basik = RedisRefreshClient(
host=host, port=port, db=3, password=password
host=host,
port=port,
db=3,
password=password,
)
self.redis_totp_client_basik = RedisTotpClient(
host=host, port=port, db=3, password=password
host=host,
port=port,
db=3,
password=password,
)

@staticmethod
def create_user(user_model: Type[BaseAbstractUser]) -> Type[BaseAbstractUser]:
data = {
'username': 'test_user',
'password': 'test_password',
'email': 'test_email@example.com',
'phone': 12341234,
'is_active': True,
"username": "test_user",
"password": "test_password",
"email": "test_email@example.com",
"phone": 12341234,
"is_active": True,
}
if user_model == CustomerUser:
data['birthday'] = datetime.now()
data["birthday"] = datetime.now()
user = user_model.objects.create_user(**data)
return user

Expand Down Expand Up @@ -140,59 +158,7 @@ def test_dict_in_access(self):
result_data = {key: value for key, value in result.items()}

self.assertEqual(bool(result), True)
<<<<<<< HEAD
self.assertEqual(result_data['type'], data['type'])
self.assertEqual(result_data['permissions'], data['permissions'])
self.assertEqual(result_data['image'], data['image'])
self.assertEqual(result_data['list'], data['list'])

def test_long_token(self):
token = '''eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzI
iwiaWF0IjoxNjg4MDU5NTI2LCJleHAiOjE2ODgwNTk4MjYsInVzZXJfaWQiOiJjNzRlZG
Y1MC1kNTUzLTRiYWMtYmUzZi04MjNmMzlmMTE4YWUiLCJyb2xlIjoiYWRtaW5pc3RyYXR
vciIsImF2YXRhciI6IiIsInBlcm1pc3Npb25zIjpbXSwiZW1haWwiOiJ0ZXN0X2VtYWls
QGV4YW1wbGUuY29tIiwicGhvbmUiOjEyMzQxMjM0LCJjb3VudHJ5IjpudWxsLCJjcmVhd
GVkX2F0IjoiMjAyMy0wNi0yOSAxNzoyNToyNi42MTg3MzgrMDA6MDAiLCJ1cGRhdGVfYX
QiOiIyMDIzLTA2LTI5IDE3OjI1OjI2LjYxODc0OSswMDowMCIsImlzX3N1cGVydXNlciI
6ZmFsc2UsImdyb3VwcyI6W10sInVzZXJfcGVybWlzc2lvbnMiOltdLCJkZXZlbG9wZXJf
Z3JvdXBzIjpbXSwiZGV2ZWxvcGVyX3Blcm1pc3Npb25zIjpbXX0.aijkwQOwY91Tk2DFi
gfkSy6zmKHa6m1ADIv27-TdDzM'''
data = {'type': 'access'}
self.redis_access_client.add_token(token=token, value=data)
result = self.redis_access_client.is_token_exist(token=token)
result_data = {key: value for key, value in result.items()}

self.assertEqual(bool(result), True)
self.assertEqual(result_data['type'], data['type'])

def test_create_and_check_token_admin(self):
admin_payload_data = self.get_user_payload(self.administrator)
self.redis_access_client.add_token(token='admin_test_token', value=admin_payload_data)
result = self.redis_access_client.is_token_exist(token='admin_test_token')
result_data = {key: value for key, value in result.items()}
self.maxDiff = None
self.assertEqual(result_data, admin_payload_data)

def test_create_and_check_token_customer(self):
customer_payload_data = self.get_user_payload(self.customer)
self.redis_access_client.add_token(token='customer_test_token', value=customer_payload_data)
result = self.redis_access_client.is_token_exist(token='customer_test_token')
result_data = {key: value for key, value in result.items()}
self.maxDiff = None
self.assertEqual(result_data, customer_payload_data)

def test_create_and_check_token_developer(self):
developer_payload_data = self.get_user_payload(self.developer)
self.redis_access_client.add_token(
token='developer_test_token', value=developer_payload_data
)
result = self.redis_access_client.is_token_exist(token='developer_test_token')
result_data = {key: value for key, value in result.items()}
self.maxDiff = None
self.assertEqual(result_data, developer_payload_data)
=======
self.assertEqual(result_data["type"], data["type"])
self.assertEqual(result_data["permissions"], data["permissions"])
self.assertEqual(result_data["image"], data["image"])
self.assertEqual(result_data["list"], data["list"])
>>>>>>> 9b94887 (* refactor pre-commit/git@actions *refactor all project code by linters)

0 comments on commit 0c99cac

Please sign in to comment.