aboutsummaryrefslogtreecommitdiff
path: root/tests/models
diff options
context:
space:
mode:
Diffstat (limited to 'tests/models')
-rw-r--r--tests/models/custom_types/test_aware_datetime.py4
-rw-r--r--tests/models/custom_types/test_dsn.py4
-rw-r--r--tests/models/custom_types/test_uuid_str.py4
-rw-r--r--tests/models/dynata/test_survey.py3
-rw-r--r--tests/models/gr/test_authentication.py14
-rw-r--r--tests/models/gr/test_base.py4
-rw-r--r--tests/models/gr/test_business.py40
-rw-r--r--tests/models/gr/test_team.py38
-rw-r--r--tests/models/innovate/test_question.py2
-rw-r--r--tests/models/legacy/test_offerwall_parse_response.py2
-rw-r--r--tests/models/legacy/test_user_question_answer_in.py9
-rw-r--r--tests/models/network/test_mtr.py6
-rw-r--r--tests/models/network/test_nmap.py8
-rw-r--r--tests/models/network/test_nmap_parser.py9
-rw-r--r--tests/models/network/test_rdns.py6
-rw-r--r--tests/models/spectrum/test_question.py2
-rw-r--r--tests/models/spectrum/test_survey.py2
-rw-r--r--tests/models/spectrum/test_survey_manager.py12
-rw-r--r--tests/models/test_device.py2
-rw-r--r--tests/models/test_finance.py19
-rw-r--r--tests/models/thl/test_adjustments.py17
-rw-r--r--tests/models/thl/test_buyer.py2
-rw-r--r--tests/models/thl/test_contest/test_contest.py6
-rw-r--r--tests/models/thl/test_contest/test_leaderboard_contest.py7
-rw-r--r--tests/models/thl/test_contest/test_raffle_contest.py7
-rw-r--r--tests/models/thl/test_marketplace_condition.py6
-rw-r--r--tests/models/thl/test_payout.py8
-rw-r--r--tests/models/thl/test_payout_format.py8
-rw-r--r--tests/models/thl/test_product.py37
-rw-r--r--tests/models/thl/test_product_userwalletconfig.py2
-rw-r--r--tests/models/thl/test_soft_pair.py2
-rw-r--r--tests/models/thl/test_user.py9
-rw-r--r--tests/models/thl/test_user_metadata.py2
-rw-r--r--tests/models/thl/test_wall.py2
-rw-r--r--tests/models/thl/test_wall_session.py2
35 files changed, 190 insertions, 117 deletions
diff --git a/tests/models/custom_types/test_aware_datetime.py b/tests/models/custom_types/test_aware_datetime.py
index e8a5aa3..54a5d9b 100644
--- a/tests/models/custom_types/test_aware_datetime.py
+++ b/tests/models/custom_types/test_aware_datetime.py
@@ -2,12 +2,14 @@ from __future__ import annotations
import logging
from datetime import UTC, datetime
+from typing import TYPE_CHECKING
import pytest
import pytz
from pydantic import BaseModel, Field, ValidationError
-from generalresearch.models.custom_types import AwareDatetimeISO
+if TYPE_CHECKING:
+ from generalresearch.models.custom_types import AwareDatetimeISO
logger = logging.getLogger()
diff --git a/tests/models/custom_types/test_dsn.py b/tests/models/custom_types/test_dsn.py
index d8c7c53..2aae579 100644
--- a/tests/models/custom_types/test_dsn.py
+++ b/tests/models/custom_types/test_dsn.py
@@ -1,12 +1,14 @@
from __future__ import annotations
+from typing import TYPE_CHECKING
from uuid import uuid4
import pytest
from pydantic import BaseModel, Field, MySQLDsn, ValidationError
from pydantic_core import Url
-from generalresearch.models.custom_types import DaskDsn, SentryDsn
+if TYPE_CHECKING:
+ from generalresearch.models.custom_types import DaskDsn, SentryDsn
# --- Test Pydantic Models ---
diff --git a/tests/models/custom_types/test_uuid_str.py b/tests/models/custom_types/test_uuid_str.py
index 02e6a8b..92489a0 100644
--- a/tests/models/custom_types/test_uuid_str.py
+++ b/tests/models/custom_types/test_uuid_str.py
@@ -1,11 +1,13 @@
from __future__ import annotations
+from typing import TYPE_CHECKING
from uuid import uuid4
import pytest
from pydantic import BaseModel, Field, ValidationError
-from generalresearch.models.custom_types import UUIDStr
+if TYPE_CHECKING:
+ from generalresearch.models.custom_types import UUIDStr
class UUIDStrModel(BaseModel):
diff --git a/tests/models/dynata/test_survey.py b/tests/models/dynata/test_survey.py
index ad953a3..3e33897 100644
--- a/tests/models/dynata/test_survey.py
+++ b/tests/models/dynata/test_survey.py
@@ -1,3 +1,6 @@
+from __future__ import annotations
+
+
class TestDynataCondition:
def test_condition_create(self):
diff --git a/tests/models/gr/test_authentication.py b/tests/models/gr/test_authentication.py
index d2a7054..ac1298f 100644
--- a/tests/models/gr/test_authentication.py
+++ b/tests/models/gr/test_authentication.py
@@ -6,17 +6,21 @@ import os
from collections.abc import Callable
from datetime import UTC, datetime
from random import randint
+from typing import TYPE_CHECKING
from uuid import uuid4
import pytest
from redis import Redis
from generalresearch.models.gr.authentication import Claims, GRToken, GRUser
-from generalresearch.models.gr.business import Business
-from generalresearch.models.gr.team import Membership, Team
-from generalresearch.models.thl.product import Product
-from generalresearch.pg_helper import PostgresConfig
-from generalresearch.redis_helper import RedisConfig
+from generalresearch.models.gr.team import Team
+
+if TYPE_CHECKING:
+ from generalresearch.models.gr.business import Business
+ from generalresearch.models.gr.team import Membership
+ from generalresearch.models.thl.product import Product
+ from generalresearch.pg_helper import PostgresConfig
+ from generalresearch.redis_helper import RedisConfig
SSO_ISSUER = ""
diff --git a/tests/models/gr/test_base.py b/tests/models/gr/test_base.py
index f019fc0..fba0960 100644
--- a/tests/models/gr/test_base.py
+++ b/tests/models/gr/test_base.py
@@ -3,11 +3,13 @@ from __future__ import annotations
import subprocess
from collections.abc import Callable
from pathlib import Path
+from typing import TYPE_CHECKING
import pytest
from pydantic import PostgresDsn
-from generalresearch.pg_helper import PostgresConfig
+if TYPE_CHECKING:
+ from generalresearch.pg_helper import PostgresConfig
class TestGRPostgresDjangoCreation:
diff --git a/tests/models/gr/test_business.py b/tests/models/gr/test_business.py
index 9310d2c..2c12da1 100644
--- a/tests/models/gr/test_business.py
+++ b/tests/models/gr/test_business.py
@@ -19,40 +19,42 @@ from distributed.utils_test import (
from pytest import approx
from generalresearch.currency import USDCent
-from generalresearch.incite.base import GRLDatasets
-from generalresearch.incite.collections.thl_web import (
- SessionDFCollection,
- WallDFCollection,
-)
-from generalresearch.incite.mergers.pop_ledger import PopLedgerMerge
-from generalresearch.managers.gr.business import BusinessBankAccountManager
-from generalresearch.managers.gr.team import TeamManager
-from generalresearch.managers.thl.ledger_manager.ledger import LedgerManager
-from generalresearch.managers.thl.ledger_manager.thl_ledger import ThlLedgerManager
-from generalresearch.managers.thl.payout import (
- BusinessPayoutEventManager,
- PayoutEventManager,
-)
from generalresearch.models.gr.business import (
Business,
BusinessAddress,
- BusinessBankAccount,
BusinessContact,
)
-from generalresearch.models.gr.team import Team
from generalresearch.models.thl.finance import (
BusinessBalances,
ProductBalances,
)
from generalresearch.models.thl.product import Product
-from generalresearch.models.thl.user import User
-from generalresearch.pg_helper import PostgresConfig
-from generalresearch.redis_helper import RedisConfig
if TYPE_CHECKING:
+ from generalresearch.incite.base import GRLDatasets
+ from generalresearch.incite.collections.thl_web import (
+ SessionDFCollection,
+ WallDFCollection,
+ )
+ from generalresearch.incite.mergers.pop_ledger import PopLedgerMerge
+ from generalresearch.managers.gr.business import BusinessBankAccountManager
+ from generalresearch.managers.gr.team import TeamManager
+ from generalresearch.managers.thl.ledger_manager.ledger import LedgerManager
+ from generalresearch.managers.thl.ledger_manager.thl_ledger import ThlLedgerManager
+ from generalresearch.managers.thl.payout import (
+ BusinessPayoutEventManager,
+ PayoutEventManager,
+ )
from generalresearch.managers.thl.product import ProductManager
+ from generalresearch.models.gr.business import (
+ BusinessBankAccount,
+ )
+ from generalresearch.models.gr.team import Team
from generalresearch.models.thl.product import BrokerageProductPayoutEvent
from generalresearch.models.thl.session import Session
+ from generalresearch.models.thl.user import User
+ from generalresearch.pg_helper import PostgresConfig
+ from generalresearch.redis_helper import RedisConfig
class TestBusinessBankAccount:
diff --git a/tests/models/gr/test_team.py b/tests/models/gr/test_team.py
index dc7d4b9..c1ae6d6 100644
--- a/tests/models/gr/test_team.py
+++ b/tests/models/gr/test_team.py
@@ -5,6 +5,7 @@ from collections.abc import Callable
from datetime import datetime, timedelta
from decimal import Decimal
from pathlib import Path
+from typing import TYPE_CHECKING
import pandas as pd
from dask.distributed import Client as DaskClient
@@ -12,24 +13,29 @@ from distributed.utils_test import (
client_no_amm,
)
-from generalresearch.incite.base import GRLDatasets
-from generalresearch.incite.collections.thl_web import (
- SessionDFCollection,
- WallDFCollection,
-)
-from generalresearch.incite.mergers.foundations.enriched_session import (
- EnrichedSessionMerge,
-)
-from generalresearch.incite.mergers.foundations.enriched_wall import EnrichedWallMerge
-from generalresearch.managers.gr.team import MembershipManager, TeamManager
-from generalresearch.models.gr.authentication import GRUser
from generalresearch.models.gr.business import Business
-from generalresearch.models.gr.team import Membership, Team
+from generalresearch.models.gr.team import Team
from generalresearch.models.thl.product import Product
-from generalresearch.models.thl.session import Session
-from generalresearch.models.thl.user import User
-from generalresearch.pg_helper import PostgresConfig
-from generalresearch.redis_helper import RedisConfig
+
+if TYPE_CHECKING:
+ from generalresearch.incite.base import GRLDatasets
+ from generalresearch.incite.collections.thl_web import (
+ SessionDFCollection,
+ WallDFCollection,
+ )
+ from generalresearch.incite.mergers.foundations.enriched_session import (
+ EnrichedSessionMerge,
+ )
+ from generalresearch.incite.mergers.foundations.enriched_wall import (
+ EnrichedWallMerge,
+ )
+ from generalresearch.managers.gr.team import MembershipManager, TeamManager
+ from generalresearch.models.gr.authentication import GRUser
+ from generalresearch.models.gr.team import Membership
+ from generalresearch.models.thl.session import Session
+ from generalresearch.models.thl.user import User
+ from generalresearch.pg_helper import PostgresConfig
+ from generalresearch.redis_helper import RedisConfig
class TestTeam:
diff --git a/tests/models/innovate/test_question.py b/tests/models/innovate/test_question.py
index b206177..ea2fc8c 100644
--- a/tests/models/innovate/test_question.py
+++ b/tests/models/innovate/test_question.py
@@ -1,6 +1,6 @@
from __future__ import annotations
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.innovate.question import (
InnovateQuestion,
InnovateQuestionOption,
diff --git a/tests/models/legacy/test_offerwall_parse_response.py b/tests/models/legacy/test_offerwall_parse_response.py
index 56ba077..93f5c26 100644
--- a/tests/models/legacy/test_offerwall_parse_response.py
+++ b/tests/models/legacy/test_offerwall_parse_response.py
@@ -2,7 +2,7 @@ from __future__ import annotations
import json
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.legacy.bucket import (
BucketTask,
DurationSummary,
diff --git a/tests/models/legacy/test_user_question_answer_in.py b/tests/models/legacy/test_user_question_answer_in.py
index 3fdaa05..f14c1a7 100644
--- a/tests/models/legacy/test_user_question_answer_in.py
+++ b/tests/models/legacy/test_user_question_answer_in.py
@@ -4,19 +4,22 @@ import json
from collections.abc import Callable
from datetime import datetime
from decimal import Decimal
+from typing import TYPE_CHECKING
from uuid import uuid4
import pytest
-from generalresearch.managers.thl.user_manager.user_manager import UserManager
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.legacy.questions import (
UserQuestionAnswers,
)
-from generalresearch.models.thl.product import Product
from generalresearch.models.thl.session import Session, Wall
from generalresearch.models.thl.user import User
+if TYPE_CHECKING:
+ from generalresearch.managers.thl.user_manager.user_manager import UserManager
+ from generalresearch.models.thl.product import Product
+
class TestUserQuestionAnswers:
"""This is for the GRS POST submission that may contain multiple
diff --git a/tests/models/network/test_mtr.py b/tests/models/network/test_mtr.py
index 7f8a736..5d136c4 100644
--- a/tests/models/network/test_mtr.py
+++ b/tests/models/network/test_mtr.py
@@ -1,11 +1,15 @@
from __future__ import annotations
+from typing import TYPE_CHECKING
+
import faker
-from generalresearch.managers.network.tool_run import ToolRunManager
from generalresearch.models.network.mtr.execute import execute_mtr
from generalresearch.models.network.tool_run import ToolClass, ToolName
+if TYPE_CHECKING:
+ from generalresearch.managers.network.tool_run import ToolRunManager
+
fake = faker.Faker()
diff --git a/tests/models/network/test_nmap.py b/tests/models/network/test_nmap.py
index db39997..6adc9e4 100644
--- a/tests/models/network/test_nmap.py
+++ b/tests/models/network/test_nmap.py
@@ -1,14 +1,18 @@
from __future__ import annotations
import subprocess
+from typing import TYPE_CHECKING
import faker
-from generalresearch.managers.network.tool_run import ToolRunManager
from generalresearch.models.network.definitions import IPProtocol
from generalresearch.models.network.nmap.execute import execute_nmap
from generalresearch.models.network.nmap.result import NmapResult, PortState
-from generalresearch.models.network.tool_run import NmapRun, ToolClass, ToolName
+from generalresearch.models.network.tool_run import ToolClass, ToolName
+
+if TYPE_CHECKING:
+ from generalresearch.managers.network.tool_run import ToolRunManager
+ from generalresearch.models.network.tool_run import NmapRun
fake = faker.Faker()
diff --git a/tests/models/network/test_nmap_parser.py b/tests/models/network/test_nmap_parser.py
index 473a63f..fc9884b 100644
--- a/tests/models/network/test_nmap_parser.py
+++ b/tests/models/network/test_nmap_parser.py
@@ -1,14 +1,15 @@
from __future__ import annotations
import os
+from typing import TYPE_CHECKING
import pytest
from generalresearch.models.network.nmap.parser import parse_nmap_xml
-from generalresearch.models.network.nmap.result import (
- NmapResult,
- NmapTrace,
-)
+from generalresearch.models.network.nmap.result import NmapTrace
+
+if TYPE_CHECKING:
+ from generalresearch.models.network.nmap.result import NmapResult
@pytest.fixture
diff --git a/tests/models/network/test_rdns.py b/tests/models/network/test_rdns.py
index 1a15a28..82126dd 100644
--- a/tests/models/network/test_rdns.py
+++ b/tests/models/network/test_rdns.py
@@ -1,11 +1,15 @@
from __future__ import annotations
+from typing import TYPE_CHECKING
+
import faker
-from generalresearch.managers.network.tool_run import ToolRunManager
from generalresearch.models.network.rdns.execute import execute_rdns
from generalresearch.models.network.tool_run import ToolClass, ToolName
+if TYPE_CHECKING:
+ from generalresearch.managers.network.tool_run import ToolRunManager
+
fake = faker.Faker()
diff --git a/tests/models/spectrum/test_question.py b/tests/models/spectrum/test_question.py
index a44286d..d469530 100644
--- a/tests/models/spectrum/test_question.py
+++ b/tests/models/spectrum/test_question.py
@@ -2,7 +2,7 @@ from __future__ import annotations
from datetime import UTC, datetime
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.spectrum.question import (
SpectrumQuestion,
SpectrumQuestionClass,
diff --git a/tests/models/spectrum/test_survey.py b/tests/models/spectrum/test_survey.py
index bad6857..02c5d3f 100644
--- a/tests/models/spectrum/test_survey.py
+++ b/tests/models/spectrum/test_survey.py
@@ -3,7 +3,7 @@ from __future__ import annotations
from datetime import UTC, datetime
from decimal import Decimal
-from generalresearch.models import (
+from generalresearch.models.definitions import (
LogicalOperator,
Source,
TaskCalculationType,
diff --git a/tests/models/spectrum/test_survey_manager.py b/tests/models/spectrum/test_survey_manager.py
index 11dc01f..0300956 100644
--- a/tests/models/spectrum/test_survey_manager.py
+++ b/tests/models/spectrum/test_survey_manager.py
@@ -3,15 +3,17 @@ from __future__ import annotations
import logging
from datetime import UTC, datetime
from decimal import Decimal
-from typing import Any
+from typing import TYPE_CHECKING, Any
from pymysql import IntegrityError
from generalresearch.config import is_debug
-from generalresearch.managers.spectrum.survey import (
- SpectrumSurveyManager,
-)
-from generalresearch.sql_helper import SqlHelper
+
+if TYPE_CHECKING:
+ from generalresearch.managers.spectrum.survey import (
+ SpectrumSurveyManager,
+ )
+ from generalresearch.sql_helper import SqlHelper
logger = logging.getLogger()
diff --git a/tests/models/test_device.py b/tests/models/test_device.py
index 8e1251a..fdbd906 100644
--- a/tests/models/test_device.py
+++ b/tests/models/test_device.py
@@ -15,7 +15,7 @@ chromebook_ua_string = (
)
-from generalresearch.models import DeviceType
+from generalresearch.models.definitions import DeviceType
from generalresearch.models.device import parse_device_from_useragent
diff --git a/tests/models/test_finance.py b/tests/models/test_finance.py
index 72f4f4d..eabc877 100644
--- a/tests/models/test_finance.py
+++ b/tests/models/test_finance.py
@@ -4,6 +4,7 @@ from collections.abc import Callable
from datetime import UTC, datetime, timedelta
from itertools import product as iter_product
from random import randint
+from typing import TYPE_CHECKING
from uuid import uuid4
import pandas as pd
@@ -16,25 +17,27 @@ from distributed.utils_test import (
)
from faker import Faker
-from generalresearch.incite.collections.thl_web import LedgerDFCollection
-from generalresearch.incite.mergers.pop_ledger import PopLedgerMerge
from generalresearch.incite.schemas.mergers.pop_ledger import (
numerical_col_names,
)
-from generalresearch.managers.thl.ledger_manager.thl_ledger import ThlLedgerManager
from generalresearch.models.thl.finance import (
BusinessBalances,
POPFinancial,
ProductBalances,
)
-from generalresearch.models.thl.ledger import LedgerAccount
-from generalresearch.models.thl.product import Product
-from generalresearch.models.thl.session import Session
-from generalresearch.models.thl.user import User
-from generalresearch.pg_helper import PostgresConfig
from test_utils.incite.collections.conftest import ledger_collection
from test_utils.incite.mergers.conftest import pop_ledger_merge
+if TYPE_CHECKING:
+ from generalresearch.incite.collections.thl_web import LedgerDFCollection
+ from generalresearch.incite.mergers.pop_ledger import PopLedgerMerge
+ from generalresearch.managers.thl.ledger_manager.thl_ledger import ThlLedgerManager
+ from generalresearch.models.thl.ledger import LedgerAccount
+ from generalresearch.models.thl.product import Product
+ from generalresearch.models.thl.session import Session
+ from generalresearch.models.thl.user import User
+ from generalresearch.pg_helper import PostgresConfig
+
fake = Faker()
diff --git a/tests/models/thl/test_adjustments.py b/tests/models/thl/test_adjustments.py
index c5b3f6b..cd75318 100644
--- a/tests/models/thl/test_adjustments.py
+++ b/tests/models/thl/test_adjustments.py
@@ -3,22 +3,27 @@ from __future__ import annotations
from collections.abc import Callable
from datetime import UTC, datetime, timedelta
from decimal import Decimal
+from typing import TYPE_CHECKING
import pytest
-from generalresearch.managers.thl.session import SessionManager
-from generalresearch.managers.thl.wall import WallManager
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.thl.product import Product
from generalresearch.models.thl.session import (
- Session,
SessionAdjustedStatus,
Status,
StatusCode1,
- Wall,
WallAdjustedStatus,
)
-from generalresearch.models.thl.user import User
+
+if TYPE_CHECKING:
+ from generalresearch.managers.thl.session import SessionManager
+ from generalresearch.managers.thl.wall import WallManager
+ from generalresearch.models.thl.session import (
+ Session,
+ Wall,
+ )
+ from generalresearch.models.thl.user import User
started1 = datetime(2023, 1, 1, tzinfo=UTC)
started2 = datetime(2023, 1, 1, 0, 10, 0, tzinfo=UTC)
diff --git a/tests/models/thl/test_buyer.py b/tests/models/thl/test_buyer.py
index 02093e2..ef97166 100644
--- a/tests/models/thl/test_buyer.py
+++ b/tests/models/thl/test_buyer.py
@@ -1,6 +1,6 @@
from __future__ import annotations
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.thl.survey.buyer import BuyerCountryStat
diff --git a/tests/models/thl/test_contest/test_contest.py b/tests/models/thl/test_contest/test_contest.py
index e1053f4..ed8477b 100644
--- a/tests/models/thl/test_contest/test_contest.py
+++ b/tests/models/thl/test_contest/test_contest.py
@@ -1,11 +1,13 @@
from __future__ import annotations
from collections.abc import Callable
+from typing import TYPE_CHECKING
import pytest
-from generalresearch.models.thl.product import Product
-from generalresearch.models.thl.user import User
+if TYPE_CHECKING:
+ from generalresearch.models.thl.product import Product
+ from generalresearch.models.thl.user import User
class TestContest:
diff --git a/tests/models/thl/test_contest/test_leaderboard_contest.py b/tests/models/thl/test_contest/test_leaderboard_contest.py
index 99cfb37..c49776b 100644
--- a/tests/models/thl/test_contest/test_leaderboard_contest.py
+++ b/tests/models/thl/test_contest/test_leaderboard_contest.py
@@ -1,6 +1,7 @@
from __future__ import annotations
from datetime import UTC
+from typing import TYPE_CHECKING
from uuid import uuid4
import pytest
@@ -8,7 +9,6 @@ from redis import Redis
from generalresearch.currency import USDCent
from generalresearch.managers.leaderboard.manager import LeaderboardManager
-from generalresearch.managers.thl.user_manager.user_manager import UserManager
from generalresearch.models.thl.contest import ContestPrize
from generalresearch.models.thl.contest.definitions import (
ContestPrizeKind,
@@ -21,10 +21,13 @@ from generalresearch.models.thl.contest.utils import (
distribute_leaderboard_prizes,
)
from generalresearch.models.thl.leaderboard import LeaderboardRow
-from generalresearch.models.thl.product import Product
from generalresearch.models.thl.user import User
from tests.models.thl.test_contest.test_contest import TestContest
+if TYPE_CHECKING:
+ from generalresearch.managers.thl.user_manager.user_manager import UserManager
+ from generalresearch.models.thl.product import Product
+
class TestLeaderboardContest(TestContest):
diff --git a/tests/models/thl/test_contest/test_raffle_contest.py b/tests/models/thl/test_contest/test_raffle_contest.py
index 8812cb3..e71851e 100644
--- a/tests/models/thl/test_contest/test_raffle_contest.py
+++ b/tests/models/thl/test_contest/test_raffle_contest.py
@@ -2,6 +2,7 @@ from __future__ import annotations
from collections import Counter
from datetime import datetime
+from typing import TYPE_CHECKING
from uuid import uuid4
import pytest
@@ -21,10 +22,12 @@ from generalresearch.models.thl.contest.definitions import (
ContestType,
)
from generalresearch.models.thl.contest.raffle import RaffleContest
-from generalresearch.models.thl.product import Product
-from generalresearch.models.thl.user import User
from tests.models.thl.test_contest.test_contest import TestContest
+if TYPE_CHECKING:
+ from generalresearch.models.thl.product import Product
+ from generalresearch.models.thl.user import User
+
class TestRaffleContest(TestContest):
diff --git a/tests/models/thl/test_marketplace_condition.py b/tests/models/thl/test_marketplace_condition.py
index 1dd25e8..6936a7c 100644
--- a/tests/models/thl/test_marketplace_condition.py
+++ b/tests/models/thl/test_marketplace_condition.py
@@ -3,7 +3,7 @@ from __future__ import annotations
import pytest
from pydantic import ValidationError
-from generalresearch.models import LogicalOperator
+from generalresearch.models.definitions import LogicalOperator
from generalresearch.models.thl.survey.condition import (
ConditionValueType,
MarketplaceCondition,
@@ -130,7 +130,7 @@ class TestMarketplaceCondition:
assert c.evaluate_criterion(user_qas) is None
def test_list_and_negate(self):
- from generalresearch.models import LogicalOperator
+ from generalresearch.models.definitions import LogicalOperator
from generalresearch.models.thl.survey.condition import (
ConditionValueType,
MarketplaceCondition,
@@ -247,7 +247,7 @@ class TestMarketplaceCondition:
assert ["1", "10", "11", "12", "2", "3", "4", "5"] == c.values
def test_ranges_infinity(self):
- from generalresearch.models import LogicalOperator
+ from generalresearch.models.definitions import LogicalOperator
from generalresearch.models.thl.survey.condition import (
ConditionValueType,
MarketplaceCondition,
diff --git a/tests/models/thl/test_payout.py b/tests/models/thl/test_payout.py
index daf1bd7..927687e 100644
--- a/tests/models/thl/test_payout.py
+++ b/tests/models/thl/test_payout.py
@@ -7,12 +7,16 @@ from pydantic import ValidationError
from generalresearch.currency import USDCent
from generalresearch.models.gr import Team
-from generalresearch.models.gr.business import Business, BusinessAddress, BusinessType
+from generalresearch.models.gr.business import (
+ Business,
+ BusinessAddress,
+ BusinessType,
+)
from generalresearch.models.thl.payout import (
BrokerageProductPayoutEvent,
BusinessPayoutEvent,
)
-from generalresearch.models.thl.wallet import PayoutType
+from generalresearch.models.thl.wallet.definitions import PayoutType
class TestBusinessPayoutEvent:
diff --git a/tests/models/thl/test_payout_format.py b/tests/models/thl/test_payout_format.py
index fe7aea5..56eafe3 100644
--- a/tests/models/thl/test_payout_format.py
+++ b/tests/models/thl/test_payout_format.py
@@ -1,14 +1,20 @@
from __future__ import annotations
+from typing import TYPE_CHECKING
+
import pytest
from pydantic import BaseModel
from generalresearch.models.thl.payout_format import (
PayoutFormatField,
- PayoutFormatType,
format_payout_format,
)
+if TYPE_CHECKING:
+ from generalresearch.models.thl.payout_format import (
+ PayoutFormatType,
+ )
+
class PayoutFormatTestClass(BaseModel):
payout_format: PayoutFormatType = PayoutFormatField
diff --git a/tests/models/thl/test_product.py b/tests/models/thl/test_product.py
index 880799a..cc0fa8e 100644
--- a/tests/models/thl/test_product.py
+++ b/tests/models/thl/test_product.py
@@ -5,6 +5,7 @@ import shutil
from collections.abc import Callable
from datetime import UTC, datetime, timedelta
from decimal import Decimal
+from typing import TYPE_CHECKING
from uuid import uuid4
import pytest
@@ -12,22 +13,9 @@ from dask.distributed import Client as DaskClient
from pydantic import ValidationError
from generalresearch.currency import USDCent
-from generalresearch.incite.base import GRLDatasets
-from generalresearch.incite.collections.thl_web import LedgerDFCollection
-from generalresearch.incite.mergers.pop_ledger import PopLedgerMerge
-from generalresearch.managers.thl.ledger_manager.thl_ledger import (
- ThlLedgerManager,
-)
-from generalresearch.managers.thl.payout import PayoutEventManager
-from generalresearch.managers.thl.product import ProductManager
-from generalresearch.models import Source
-from generalresearch.models.gr.business import Business
+from generalresearch.models.definitions import Source
from generalresearch.models.thl.finance import ProductBalances
-from generalresearch.models.thl.payout import (
- BrokerageProductPayoutEvent,
-)
from generalresearch.models.thl.product import (
- BrokerageProductPayoutEventManager,
IntegrationMode,
PayoutConfig,
PayoutTransformation,
@@ -39,9 +27,24 @@ from generalresearch.models.thl.product import (
SupplyConfig,
SupplyPolicy,
)
-from generalresearch.models.thl.session import Session
-from generalresearch.models.thl.user import User
-from generalresearch.redis_helper import RedisConfig
+
+if TYPE_CHECKING:
+ from generalresearch.incite.base import GRLDatasets
+ from generalresearch.incite.collections.thl_web import LedgerDFCollection
+ from generalresearch.incite.mergers.pop_ledger import PopLedgerMerge
+ from generalresearch.managers.thl.ledger_manager.thl_ledger import (
+ ThlLedgerManager,
+ )
+ from generalresearch.managers.thl.payout import PayoutEventManager
+ from generalresearch.managers.thl.product import ProductManager
+ from generalresearch.models.gr.business import Business
+ from generalresearch.models.thl.payout import (
+ BrokerageProductPayoutEvent,
+ )
+ from generalresearch.models.thl.product import BrokerageProductPayoutEventManager
+ from generalresearch.models.thl.session import Session
+ from generalresearch.models.thl.user import User
+ from generalresearch.redis_helper import RedisConfig
class TestProduct:
diff --git a/tests/models/thl/test_product_userwalletconfig.py b/tests/models/thl/test_product_userwalletconfig.py
index b348981..b1bfa60 100644
--- a/tests/models/thl/test_product_userwalletconfig.py
+++ b/tests/models/thl/test_product_userwalletconfig.py
@@ -6,7 +6,7 @@ from random import shuffle as rshuffle
from generalresearch.models.thl.product import (
UserWalletConfig,
)
-from generalresearch.models.thl.wallet import PayoutType
+from generalresearch.models.thl.wallet.definitions import PayoutType
def all_equal(iterable: list[str]) -> bool:
diff --git a/tests/models/thl/test_soft_pair.py b/tests/models/thl/test_soft_pair.py
index 3cf835e..34902e2 100644
--- a/tests/models/thl/test_soft_pair.py
+++ b/tests/models/thl/test_soft_pair.py
@@ -1,6 +1,6 @@
from __future__ import annotations
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.dynata.survey import (
ConditionValueType,
DynataCondition,
diff --git a/tests/models/thl/test_user.py b/tests/models/thl/test_user.py
index 9c4b548..bc941d4 100644
--- a/tests/models/thl/test_user.py
+++ b/tests/models/thl/test_user.py
@@ -6,16 +6,19 @@ from datetime import UTC, datetime, timedelta, timezone
from decimal import Decimal
from random import choice as rand_choice
from random import randint
+from typing import TYPE_CHECKING
from uuid import uuid4
import pytest
from pydantic import ValidationError
-from generalresearch.managers.thl.ledger_manager.thl_ledger import ThlLedgerManager
-from generalresearch.managers.thl.userhealth import AuditLogManager
-from generalresearch.models.thl.product import Product
from generalresearch.models.thl.user import User
+if TYPE_CHECKING:
+ from generalresearch.managers.thl.ledger_manager.thl_ledger import ThlLedgerManager
+ from generalresearch.managers.thl.userhealth import AuditLogManager
+ from generalresearch.models.thl.product import Product
+
class TestUserUserID:
diff --git a/tests/models/thl/test_user_metadata.py b/tests/models/thl/test_user_metadata.py
index a7b479d..7e84f3e 100644
--- a/tests/models/thl/test_user_metadata.py
+++ b/tests/models/thl/test_user_metadata.py
@@ -2,7 +2,7 @@ from __future__ import annotations
import pytest
-from generalresearch.models import MAX_INT32
+from generalresearch.models.definitions import MAX_INT32
from generalresearch.models.thl.user_profile import UserMetadata
diff --git a/tests/models/thl/test_wall.py b/tests/models/thl/test_wall.py
index 58e9825..61ca11d 100644
--- a/tests/models/thl/test_wall.py
+++ b/tests/models/thl/test_wall.py
@@ -7,7 +7,7 @@ from uuid import uuid4
import pytest
from pydantic import ValidationError
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.thl.definitions import (
Status,
StatusCode1,
diff --git a/tests/models/thl/test_wall_session.py b/tests/models/thl/test_wall_session.py
index 48b89ea..40d3619 100644
--- a/tests/models/thl/test_wall_session.py
+++ b/tests/models/thl/test_wall_session.py
@@ -5,7 +5,7 @@ from decimal import Decimal
import pytest
-from generalresearch.models import Source
+from generalresearch.models.definitions import Source
from generalresearch.models.thl.definitions import Status, StatusCode1
from generalresearch.models.thl.session import Session, Wall
from generalresearch.models.thl.user import User