integrated tests + omit unnecessary

This commit is contained in:
2026-07-28 15:16:52 +03:00
parent ef1e39d506
commit d24b99b8b0
7 changed files with 68 additions and 8 deletions

View File

@@ -31,3 +31,16 @@ dependencies = [
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.coverage.run]
omit = [
"*/models/*",
"*/migrations/*",
"__init__.py",
"*/docker/*"
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
]

View File

View File

@@ -1,9 +1,15 @@
import pytest
from service.auth.auth import CurrentUser
from src.service.auth.auth import CurrentUser
from src.service.auth.jwt import Jwt
@pytest.fixture
def current_user_service()->CurrentUser:
current_user_service=CurrentUser()
return current_user_service
return current_user_service
@pytest.fixture
def jwt_service()->Jwt:
jwt_service=Jwt()
return jwt_service

View File

@@ -0,0 +1,47 @@
from types import SimpleNamespace
from uuid import uuid4
import allure
import pytest
from src.service.auth.auth import CurrentUser
from src.service.auth.jwt import Jwt
@pytest.mark.integra
class TestAuth:
'''
create token
decode it
mock db with fake data
check output
'''
@pytest.mark.parametrize("user_data",[
(SimpleNamespace(first_name="test",
last_name="test",
middle_name="test",
email="d@d.d",
direct_permissions=[],
group=[],
status=True))
])
def test_get_current_user_positive(self,current_user_service:CurrentUser, jwt_service:Jwt, monkeypatch, user_data:SimpleNamespace)->None:
with allure.step("create token"):
token=jwt_service.create_access_token({"sub":str(uuid4())})
with allure.step("test get_current_user_with_fake_token"):
monkeypatch.setattr(current_user_service.crud_db_actions, "get_user_by_id", lambda user:user_data)
test_result= current_user_service.get_current_user(token)
assert test_result.first_name==user_data.first_name
assert test_result.last_name==user_data.last_name
assert test_result.middle_name==user_data.middle_name
assert test_result.email==user_data.email
assert test_result.direct_permissions==user_data.direct_permissions
assert test_result.group==user_data.group

0
tests/unit/__init__.py Normal file
View File

View File

@@ -1,6 +1,5 @@
import pytest
from service.auth.auth import CurrentUser
from src.service.auth.jwt import Hashes, Jwt
@@ -14,7 +13,3 @@ def hash_service()->Hashes:
hash_service=Hashes()
return hash_service
@pytest.fixture
def current_user_service()->CurrentUser:
current_user_service=CurrentUser()
return current_user_service

View File

@@ -5,7 +5,6 @@ import pytest
from fastapi import HTTPException
from jose import jwt
from service.auth.auth import CurrentUser
from src.models.configs_read.env import env_settings
from src.service.auth.jwt import Hashes, Jwt