Добавил слип для теста
This commit is contained in:
parent
530f298825
commit
815bdd6704
9 changed files with 9 additions and 20 deletions
|
@ -8,7 +8,7 @@ script_location = app/migrations
|
||||||
# Uncomment the line below if you want the files to be prepended with date and time
|
# Uncomment the line below if you want the files to be prepended with date and time
|
||||||
# see https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file
|
# see https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file
|
||||||
# for all available tokens
|
# for all available tokens
|
||||||
file_template = %%(year)d-%%(month).2d-%%(day).2d_%%(slug)s
|
file_template = %%(year)d-%%(month).2d-%%(day).2d_%%(hour).2d-%%(minute).2d-%%(second).2d_%%(slug)s
|
||||||
|
|
||||||
# sys.path path, will be prepended to sys.path if present.
|
# sys.path path, will be prepended to sys.path if present.
|
||||||
# defaults to the current working directory.
|
# defaults to the current working directory.
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
import logging
|
|
||||||
|
|
||||||
import websockets
|
import websockets
|
||||||
from fastapi import WebSocket, WebSocketDisconnect, Depends
|
from fastapi import WebSocket, WebSocketDisconnect, Depends
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
|
|
||||||
|
from app.database import engine
|
||||||
|
|
||||||
|
|
||||||
class BaseDAO:
|
class BaseDAO:
|
||||||
model = None
|
model = None
|
||||||
|
@ -7,3 +9,7 @@ class BaseDAO:
|
||||||
def __init__(self, session: AsyncSession):
|
def __init__(self, session: AsyncSession):
|
||||||
self.session = session
|
self.session = session
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def check_query_compile(query):
|
||||||
|
print(query.compile(engine, compile_kwargs={"literal_binds": True})) # Проверка SQL запроса
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ from sqlalchemy.exc import IntegrityError, NoResultFound
|
||||||
from sqlalchemy.orm import aliased
|
from sqlalchemy.orm import aliased
|
||||||
|
|
||||||
from app.dao.base import BaseDAO
|
from app.dao.base import BaseDAO
|
||||||
from app.database import engine
|
|
||||||
from app.chat.exceptions import (
|
from app.chat.exceptions import (
|
||||||
UserAlreadyInChatException,
|
UserAlreadyInChatException,
|
||||||
UserAlreadyPinnedChatException,
|
UserAlreadyPinnedChatException,
|
||||||
|
@ -25,10 +24,6 @@ from app.models.user_chat import UserChat
|
||||||
class ChatDAO(BaseDAO):
|
class ChatDAO(BaseDAO):
|
||||||
model = Chat
|
model = Chat
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def check_query_compile(query):
|
|
||||||
print(query.compile(engine, compile_kwargs={"literal_binds": True})) # Проверка SQL запроса
|
|
||||||
|
|
||||||
async def find_one(self, chat_id: int, user_id: int) -> SChat:
|
async def find_one(self, chat_id: int, user_id: int) -> SChat:
|
||||||
try:
|
try:
|
||||||
query = (
|
query = (
|
||||||
|
|
|
@ -4,7 +4,6 @@ from sqlalchemy.exc import MultipleResultsFound, IntegrityError, NoResultFound
|
||||||
|
|
||||||
from app.chat.shemas import SAllowedChats
|
from app.chat.shemas import SAllowedChats
|
||||||
from app.dao.base import BaseDAO
|
from app.dao.base import BaseDAO
|
||||||
from app.database import engine # noqa
|
|
||||||
from app.exceptions import IncorrectDataException, UserNotFoundException
|
from app.exceptions import IncorrectDataException, UserNotFoundException
|
||||||
from app.users.exceptions import UserAlreadyExistsException
|
from app.users.exceptions import UserAlreadyExistsException
|
||||||
from app.models.chat import Chat
|
from app.models.chat import Chat
|
||||||
|
@ -17,10 +16,6 @@ from app.users.schemas import SUser, SUserAvatars, SUsers
|
||||||
class UserDAO(BaseDAO):
|
class UserDAO(BaseDAO):
|
||||||
model = Users
|
model = Users
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def check_query_compile(query):
|
|
||||||
print(query.compile(engine, compile_kwargs={"literal_binds": True})) # Проверка SQL запроса
|
|
||||||
|
|
||||||
async def add(self, **data) -> SUser:
|
async def add(self, **data) -> SUser:
|
||||||
try:
|
try:
|
||||||
stmt = insert(Users).values(**data).returning(Users.__table__.columns)
|
stmt = insert(Users).values(**data).returning(Users.__table__.columns)
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.staticfiles import StaticFiles
|
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
|
|
||||||
from app.users.router import router as user_router
|
from app.users.router import router as user_router
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import asyncio
|
||||||
from random import randrange
|
from random import randrange
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, status
|
from fastapi import APIRouter, Depends, status
|
||||||
|
@ -6,7 +7,6 @@ from app.config import settings
|
||||||
from app.exceptions import UserNotFoundException, PasswordAlreadyInUseException
|
from app.exceptions import UserNotFoundException, PasswordAlreadyInUseException
|
||||||
from app.users.exceptions import (
|
from app.users.exceptions import (
|
||||||
UserAlreadyExistsException,
|
UserAlreadyExistsException,
|
||||||
IncorrectAuthDataException,
|
|
||||||
PasswordsMismatchException,
|
PasswordsMismatchException,
|
||||||
WrongCodeException,
|
WrongCodeException,
|
||||||
)
|
)
|
||||||
|
@ -16,7 +16,6 @@ from app.utils.auth import (
|
||||||
get_password_hash,
|
get_password_hash,
|
||||||
create_access_token,
|
create_access_token,
|
||||||
AuthService,
|
AuthService,
|
||||||
verify_password,
|
|
||||||
decode_confirmation_token
|
decode_confirmation_token
|
||||||
)
|
)
|
||||||
from app.users.dependencies import get_current_user
|
from app.users.dependencies import get_current_user
|
||||||
|
@ -167,6 +166,7 @@ async def login_user(user_data: SUserLogin, uow=Depends(UnitOfWork)):
|
||||||
response_model=SUserResponse,
|
response_model=SUserResponse,
|
||||||
)
|
)
|
||||||
async def get_user(current_user: SUser = Depends(get_current_user)):
|
async def get_user(current_user: SUser = Depends(get_current_user)):
|
||||||
|
await asyncio.sleep(10)
|
||||||
return current_user
|
return current_user
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ from datetime import datetime, timedelta, UTC
|
||||||
from cryptography.fernet import Fernet
|
from cryptography.fernet import Fernet
|
||||||
from jose import jwt
|
from jose import jwt
|
||||||
from passlib.context import CryptContext
|
from passlib.context import CryptContext
|
||||||
from pydantic import EmailStr
|
|
||||||
|
|
||||||
from app.config import settings
|
from app.config import settings
|
||||||
from app.exceptions import (
|
from app.exceptions import (
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
import pytest
|
import pytest
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
|
|
||||||
from app.services.user_service import UserService
|
|
||||||
from app.utils.auth import verify_password
|
|
||||||
|
|
||||||
|
|
||||||
async def test_get_users(ac: AsyncClient):
|
async def test_get_users(ac: AsyncClient):
|
||||||
response = await ac.get("/users")
|
response = await ac.get("/users")
|
||||||
|
|
Loading…
Add table
Reference in a new issue