integrated tests
This commit is contained in:
@@ -36,6 +36,8 @@ build-backend = "poetry.core.masonry.api"
|
|||||||
omit = [
|
omit = [
|
||||||
"*/models/*",
|
"*/models/*",
|
||||||
"*/migrations/*",
|
"*/migrations/*",
|
||||||
|
"*/database/*",
|
||||||
|
"*/errors/*",
|
||||||
"__init__.py",
|
"__init__.py",
|
||||||
"*/docker/*"
|
"*/docker/*"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
from types import SimpleNamespace
|
from types import SimpleNamespace
|
||||||
from uuid import uuid4
|
from uuid import UUID, uuid4
|
||||||
|
|
||||||
import allure
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
|
from fastapi import HTTPException
|
||||||
|
from pydantic import ValidationError
|
||||||
|
|
||||||
from src.service.auth.auth import CurrentUser
|
from src.service.auth.auth import CurrentUser
|
||||||
from src.service.auth.jwt import Jwt
|
from src.service.auth.jwt import Jwt
|
||||||
@@ -45,3 +47,20 @@ class TestAuth:
|
|||||||
assert test_result.direct_permissions==user_data.direct_permissions
|
assert test_result.direct_permissions==user_data.direct_permissions
|
||||||
assert test_result.group==user_data.group
|
assert test_result.group==user_data.group
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("user_data, uuid, expected_exception",[
|
||||||
|
(SimpleNamespace(first_name="test",last_name="test",middle_name="test",email="d@d.d",direct_permissions=[],group=[],status=False), uuid4(), HTTPException),
|
||||||
|
(SimpleNamespace(first_name="test",last_name="test",middle_name="test",email="d@d.d",direct_permissions=[],group=[],status=True),1234, HTTPException),
|
||||||
|
(SimpleNamespace(status=True),uuid4(), ValidationError)
|
||||||
|
])
|
||||||
|
def test_get_current_user_negative(self,current_user_service:CurrentUser, jwt_service:Jwt, monkeypatch, user_data:SimpleNamespace, expected_exception, uuid)->None:
|
||||||
|
|
||||||
|
with allure.step("create token"):
|
||||||
|
|
||||||
|
token=jwt_service.create_access_token({"sub":str(uuid)})
|
||||||
|
|
||||||
|
|
||||||
|
with allure.step("test get_current_user_with_fake_token"), pytest.raises(expected_exception):
|
||||||
|
|
||||||
|
monkeypatch.setattr(current_user_service.crud_db_actions, "get_user_by_id", lambda user:user_data)
|
||||||
|
current_user_service.get_current_user(token)
|
||||||
|
|||||||
Reference in New Issue
Block a user