refactor: reorganize import statements for consistency across multiple files
This commit is contained in:
parent
1dd7c2f2b8
commit
d2c424c419
|
|
@ -9,10 +9,11 @@ from collections.abc import Awaitable, Callable
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
import redis.asyncio as redis
|
import redis.asyncio as redis
|
||||||
from app.core.config import settings
|
|
||||||
from redis.asyncio.client import Redis
|
from redis.asyncio.client import Redis
|
||||||
from redis.exceptions import RedisError
|
from redis.exceptions import RedisError
|
||||||
|
|
||||||
|
from app.core.config import settings
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,10 @@ from __future__ import annotations
|
||||||
|
|
||||||
from collections.abc import AsyncGenerator
|
from collections.abc import AsyncGenerator
|
||||||
|
|
||||||
from app.core.config import settings
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||||||
|
|
||||||
|
from app.core.config import settings
|
||||||
|
|
||||||
engine = create_async_engine(settings.database_url, echo=settings.sqlalchemy_echo)
|
engine = create_async_engine(settings.database_url, echo=settings.sqlalchemy_echo)
|
||||||
AsyncSessionMaker = async_sessionmaker(bind=engine, expire_on_commit=False)
|
AsyncSessionMaker = async_sessionmaker(bind=engine, expire_on_commit=False)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,10 @@ from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from starlette.types import ASGIApp, Receive, Scope, Send
|
||||||
|
|
||||||
from app.core.cache import cache_manager
|
from app.core.cache import cache_manager
|
||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
from starlette.types import ASGIApp, Receive, Scope, Send
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,10 @@ from datetime import datetime, timedelta, timezone
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
import jwt
|
import jwt
|
||||||
from app.core.config import settings
|
|
||||||
from passlib.context import CryptContext # type: ignore
|
from passlib.context import CryptContext # type: ignore
|
||||||
|
|
||||||
|
from app.core.config import settings
|
||||||
|
|
||||||
|
|
||||||
class PasswordHasher:
|
class PasswordHasher:
|
||||||
"""Wraps passlib context to hash and verify secrets."""
|
"""Wraps passlib context to hash and verify secrets."""
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,10 @@ from enum import StrEnum
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
from sqlalchemy import DateTime, ForeignKey, Integer, func, text
|
from sqlalchemy import DateTime, Enum as SqlEnum, ForeignKey, Integer, func, text
|
||||||
from sqlalchemy import Enum as SqlEnum
|
|
||||||
from sqlalchemy.dialects.postgresql import JSONB
|
from sqlalchemy.dialects.postgresql import JSONB
|
||||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||||
from sqlalchemy.types import JSON as SA_JSON
|
from sqlalchemy.types import JSON as SA_JSON, TypeDecorator
|
||||||
from sqlalchemy.types import TypeDecorator
|
|
||||||
|
|
||||||
from app.models.base import Base, enum_values
|
from app.models.base import Base, enum_values
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,7 @@ from decimal import Decimal
|
||||||
from enum import StrEnum
|
from enum import StrEnum
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
from sqlalchemy import DateTime, ForeignKey, Integer, Numeric, String, func
|
from sqlalchemy import DateTime, Enum as SqlEnum, ForeignKey, Integer, Numeric, String, func
|
||||||
from sqlalchemy import Enum as SqlEnum
|
|
||||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||||
|
|
||||||
from app.models.base import Base, enum_values
|
from app.models.base import Base, enum_values
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,7 @@ from datetime import datetime
|
||||||
from enum import StrEnum
|
from enum import StrEnum
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
from sqlalchemy import DateTime, ForeignKey, Integer, UniqueConstraint, func
|
from sqlalchemy import DateTime, Enum as SqlEnum, ForeignKey, Integer, UniqueConstraint, func
|
||||||
from sqlalchemy import Enum as SqlEnum
|
|
||||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||||
|
|
||||||
from app.models.base import Base, enum_values
|
from app.models.base import Base, enum_values
|
||||||
|
|
|
||||||
|
|
@ -13,11 +13,7 @@ from app.models.task import Task, TaskCreate
|
||||||
from app.repositories.activity_repo import ActivityOrganizationMismatchError, ActivityRepository
|
from app.repositories.activity_repo import ActivityOrganizationMismatchError, ActivityRepository
|
||||||
from app.repositories.task_repo import (
|
from app.repositories.task_repo import (
|
||||||
TaskAccessError as RepoTaskAccessError,
|
TaskAccessError as RepoTaskAccessError,
|
||||||
)
|
|
||||||
from app.repositories.task_repo import (
|
|
||||||
TaskOrganizationMismatchError as RepoTaskOrganizationMismatchError,
|
TaskOrganizationMismatchError as RepoTaskOrganizationMismatchError,
|
||||||
)
|
|
||||||
from app.repositories.task_repo import (
|
|
||||||
TaskQueryParams,
|
TaskQueryParams,
|
||||||
TaskRepository,
|
TaskRepository,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,13 @@ from collections.abc import AsyncGenerator
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import pytest_asyncio
|
import pytest_asyncio
|
||||||
|
from httpx import ASGITransport, AsyncClient
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||||||
|
|
||||||
from app.api.deps import get_cache_backend, get_db_session
|
from app.api.deps import get_cache_backend, get_db_session
|
||||||
from app.core.security import password_hasher
|
from app.core.security import password_hasher
|
||||||
from app.main import create_app
|
from app.main import create_app
|
||||||
from app.models import Base
|
from app.models import Base
|
||||||
from httpx import ASGITransport, AsyncClient
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
|
||||||
from tests.utils.fake_redis import InMemoryRedis
|
from tests.utils.fake_redis import InMemoryRedis
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,14 @@ from __future__ import annotations
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
||||||
|
|
||||||
from app.core.security import jwt_service
|
from app.core.security import jwt_service
|
||||||
from app.models.contact import Contact
|
from app.models.contact import Contact
|
||||||
from app.models.deal import Deal
|
from app.models.deal import Deal
|
||||||
from app.models.organization import Organization
|
from app.models.organization import Organization
|
||||||
from app.models.organization_member import OrganizationMember, OrganizationRole
|
from app.models.organization_member import OrganizationMember, OrganizationRole
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass(slots=True)
|
@dataclass(slots=True)
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,10 @@ from __future__ import annotations
|
||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from app.models.activity import Activity, ActivityType
|
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
||||||
|
|
||||||
|
from app.models.activity import Activity, ActivityType
|
||||||
from tests.api.v1.task_activity_shared import auth_headers, make_token, prepare_scenario
|
from tests.api.v1.task_activity_shared import auth_headers, make_token, prepare_scenario
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,15 @@ from datetime import datetime, timedelta, timezone
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from httpx import AsyncClient
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
||||||
|
|
||||||
from app.core.security import jwt_service
|
from app.core.security import jwt_service
|
||||||
from app.models.contact import Contact
|
from app.models.contact import Contact
|
||||||
from app.models.deal import Deal, DealStage, DealStatus
|
from app.models.deal import Deal, DealStage, DealStatus
|
||||||
from app.models.organization import Organization
|
from app.models.organization import Organization
|
||||||
from app.models.organization_member import OrganizationMember, OrganizationRole
|
from app.models.organization_member import OrganizationMember, OrganizationRole
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
from httpx import AsyncClient
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass(slots=True)
|
@dataclass(slots=True)
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,14 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from httpx import AsyncClient
|
||||||
|
from sqlalchemy import select
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
||||||
|
|
||||||
from app.core.security import password_hasher
|
from app.core.security import password_hasher
|
||||||
from app.models.organization import Organization
|
from app.models.organization import Organization
|
||||||
from app.models.organization_member import OrganizationMember, OrganizationRole
|
from app.models.organization_member import OrganizationMember, OrganizationRole
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
from httpx import AsyncClient
|
|
||||||
from sqlalchemy import select
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,13 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from app.models.contact import Contact
|
|
||||||
from app.models.organization_member import OrganizationMember, OrganizationRole
|
|
||||||
from app.models.user import User
|
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
from sqlalchemy import select
|
from sqlalchemy import select
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
||||||
|
|
||||||
|
from app.models.contact import Contact
|
||||||
|
from app.models.organization_member import OrganizationMember, OrganizationRole
|
||||||
|
from app.models.user import User
|
||||||
from tests.api.v1.task_activity_shared import auth_headers, make_token, prepare_scenario
|
from tests.api.v1.task_activity_shared import auth_headers, make_token, prepare_scenario
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,12 @@ from __future__ import annotations
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from app.models.activity import Activity, ActivityType
|
|
||||||
from app.models.deal import Deal, DealStage, DealStatus
|
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
from sqlalchemy import select
|
from sqlalchemy import select
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
||||||
|
|
||||||
|
from app.models.activity import Activity, ActivityType
|
||||||
|
from app.models.deal import Deal, DealStage, DealStatus
|
||||||
from tests.api.v1.task_activity_shared import auth_headers, make_token, prepare_scenario
|
from tests.api.v1.task_activity_shared import auth_headers, make_token, prepare_scenario
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,11 @@ from typing import cast
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import pytest_asyncio
|
import pytest_asyncio
|
||||||
|
from httpx import ASGITransport, AsyncClient
|
||||||
|
from sqlalchemy import select
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||||||
|
from sqlalchemy.schema import Table
|
||||||
|
|
||||||
from app.api.deps import get_db_session
|
from app.api.deps import get_db_session
|
||||||
from app.core.security import jwt_service
|
from app.core.security import jwt_service
|
||||||
from app.main import create_app
|
from app.main import create_app
|
||||||
|
|
@ -15,10 +20,6 @@ from app.models import Base
|
||||||
from app.models.organization import Organization
|
from app.models.organization import Organization
|
||||||
from app.models.organization_member import OrganizationMember, OrganizationRole
|
from app.models.organization_member import OrganizationMember, OrganizationRole
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
from httpx import ASGITransport, AsyncClient
|
|
||||||
from sqlalchemy import select
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
|
||||||
from sqlalchemy.schema import Table
|
|
||||||
|
|
||||||
|
|
||||||
@pytest_asyncio.fixture()
|
@pytest_asyncio.fixture()
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,10 @@ from __future__ import annotations
|
||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from app.models.task import Task
|
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
|
||||||
|
|
||||||
|
from app.models.task import Task
|
||||||
from tests.api.v1.task_activity_shared import (
|
from tests.api.v1.task_activity_shared import (
|
||||||
auth_headers,
|
auth_headers,
|
||||||
create_deal,
|
create_deal,
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ from collections.abc import AsyncGenerator
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import pytest_asyncio
|
import pytest_asyncio
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||||||
|
from sqlalchemy.pool import StaticPool
|
||||||
|
|
||||||
from app.models.activity import Activity, ActivityType
|
from app.models.activity import Activity, ActivityType
|
||||||
from app.models.base import Base
|
from app.models.base import Base
|
||||||
from app.models.contact import Contact
|
from app.models.contact import Contact
|
||||||
|
|
@ -22,8 +25,6 @@ from app.services.activity_service import (
|
||||||
ActivityValidationError,
|
ActivityValidationError,
|
||||||
)
|
)
|
||||||
from app.services.organization_service import OrganizationContext
|
from app.services.organization_service import OrganizationContext
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
|
||||||
from sqlalchemy.pool import StaticPool
|
|
||||||
|
|
||||||
|
|
||||||
@pytest_asyncio.fixture()
|
@pytest_asyncio.fixture()
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,9 @@ from decimal import Decimal
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import pytest_asyncio
|
import pytest_asyncio
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||||||
|
from sqlalchemy.pool import StaticPool
|
||||||
|
|
||||||
from app.models import Base
|
from app.models import Base
|
||||||
from app.models.contact import Contact
|
from app.models.contact import Contact
|
||||||
from app.models.deal import Deal, DealStage, DealStatus
|
from app.models.deal import Deal, DealStage, DealStatus
|
||||||
|
|
@ -16,8 +19,6 @@ from app.models.organization_member import OrganizationMember, OrganizationRole
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
from app.repositories.analytics_repo import AnalyticsRepository
|
from app.repositories.analytics_repo import AnalyticsRepository
|
||||||
from app.services.analytics_service import AnalyticsService, invalidate_analytics_cache
|
from app.services.analytics_service import AnalyticsService, invalidate_analytics_cache
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
|
||||||
from sqlalchemy.pool import StaticPool
|
|
||||||
from tests.utils.fake_redis import InMemoryRedis
|
from tests.utils.fake_redis import InMemoryRedis
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,12 @@ from typing import cast
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
import pytest # type: ignore[import-not-found]
|
import pytest # type: ignore[import-not-found]
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
|
|
||||||
from app.core.security import JWTService, PasswordHasher
|
from app.core.security import JWTService, PasswordHasher
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
from app.repositories.user_repo import UserRepository
|
from app.repositories.user_repo import UserRepository
|
||||||
from app.services.auth_service import AuthService, InvalidCredentialsError, InvalidRefreshTokenError
|
from app.services.auth_service import AuthService, InvalidCredentialsError, InvalidRefreshTokenError
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
|
||||||
|
|
||||||
|
|
||||||
class StubUserRepository(UserRepository):
|
class StubUserRepository(UserRepository):
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,10 @@ from collections.abc import AsyncGenerator
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import pytest_asyncio
|
import pytest_asyncio
|
||||||
|
from sqlalchemy import select
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||||||
|
from sqlalchemy.pool import StaticPool
|
||||||
|
|
||||||
from app.models.base import Base
|
from app.models.base import Base
|
||||||
from app.models.contact import Contact, ContactCreate
|
from app.models.contact import Contact, ContactCreate
|
||||||
from app.models.deal import Deal
|
from app.models.deal import Deal
|
||||||
|
|
@ -22,9 +26,6 @@ from app.services.contact_service import (
|
||||||
ContactUpdateData,
|
ContactUpdateData,
|
||||||
)
|
)
|
||||||
from app.services.organization_service import OrganizationContext
|
from app.services.organization_service import OrganizationContext
|
||||||
from sqlalchemy import select
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
|
||||||
from sqlalchemy.pool import StaticPool
|
|
||||||
|
|
||||||
|
|
||||||
@pytest_asyncio.fixture()
|
@pytest_asyncio.fixture()
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,10 @@ from decimal import Decimal
|
||||||
|
|
||||||
import pytest # type: ignore[import-not-found]
|
import pytest # type: ignore[import-not-found]
|
||||||
import pytest_asyncio # type: ignore[import-not-found]
|
import pytest_asyncio # type: ignore[import-not-found]
|
||||||
|
from sqlalchemy import select
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||||||
|
from sqlalchemy.pool import StaticPool
|
||||||
|
|
||||||
from app.models.activity import Activity, ActivityType
|
from app.models.activity import Activity, ActivityType
|
||||||
from app.models.base import Base
|
from app.models.base import Base
|
||||||
from app.models.contact import Contact
|
from app.models.contact import Contact
|
||||||
|
|
@ -25,9 +29,6 @@ from app.services.deal_service import (
|
||||||
DealUpdateData,
|
DealUpdateData,
|
||||||
)
|
)
|
||||||
from app.services.organization_service import OrganizationContext
|
from app.services.organization_service import OrganizationContext
|
||||||
from sqlalchemy import select
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
|
||||||
from sqlalchemy.pool import StaticPool
|
|
||||||
|
|
||||||
|
|
||||||
@pytest_asyncio.fixture()
|
@pytest_asyncio.fixture()
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ from typing import cast
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
import pytest # type: ignore[import-not-found]
|
import pytest # type: ignore[import-not-found]
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
|
|
||||||
from app.models.organization import Organization
|
from app.models.organization import Organization
|
||||||
from app.models.organization_member import OrganizationMember, OrganizationRole
|
from app.models.organization_member import OrganizationMember, OrganizationRole
|
||||||
from app.repositories.org_repo import OrganizationRepository
|
from app.repositories.org_repo import OrganizationRepository
|
||||||
|
|
@ -17,7 +19,6 @@ from app.services.organization_service import (
|
||||||
OrganizationMemberAlreadyExistsError,
|
OrganizationMemberAlreadyExistsError,
|
||||||
OrganizationService,
|
OrganizationService,
|
||||||
)
|
)
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
|
||||||
|
|
||||||
|
|
||||||
class StubOrganizationRepository(OrganizationRepository):
|
class StubOrganizationRepository(OrganizationRepository):
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,10 @@ from datetime import datetime, timedelta, timezone
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import pytest_asyncio
|
import pytest_asyncio
|
||||||
|
from sqlalchemy import select
|
||||||
|
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||||||
|
from sqlalchemy.pool import StaticPool
|
||||||
|
|
||||||
from app.models.activity import Activity, ActivityType
|
from app.models.activity import Activity, ActivityType
|
||||||
from app.models.base import Base
|
from app.models.base import Base
|
||||||
from app.models.contact import Contact
|
from app.models.contact import Contact
|
||||||
|
|
@ -25,9 +29,6 @@ from app.services.task_service import (
|
||||||
TaskService,
|
TaskService,
|
||||||
TaskUpdateData,
|
TaskUpdateData,
|
||||||
)
|
)
|
||||||
from sqlalchemy import select
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
|
||||||
from sqlalchemy.pool import StaticPool
|
|
||||||
|
|
||||||
|
|
||||||
@pytest_asyncio.fixture()
|
@pytest_asyncio.fixture()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue