mirror of
https://github.com/elisiariocouto/leggen.git
synced 2025-12-13 11:22:21 +00:00
chore: Sort imports, fix deprecated pydantic option.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List, Optional, Dict, Any
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Optional, List
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
from typing import Optional, List, Union
|
from typing import List, Optional, Union
|
||||||
|
|
||||||
from fastapi import APIRouter, HTTPException, Query
|
from fastapi import APIRouter, HTTPException, Query
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.api.models.common import APIResponse
|
|
||||||
from leggen.api.models.accounts import (
|
from leggen.api.models.accounts import (
|
||||||
AccountDetails,
|
|
||||||
AccountBalance,
|
AccountBalance,
|
||||||
|
AccountDetails,
|
||||||
|
AccountUpdate,
|
||||||
Transaction,
|
Transaction,
|
||||||
TransactionSummary,
|
TransactionSummary,
|
||||||
AccountUpdate,
|
|
||||||
)
|
)
|
||||||
|
from leggen.api.models.common import APIResponse
|
||||||
from leggen.services.database_service import DatabaseService
|
from leggen.services.database_service import DatabaseService
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
from fastapi import APIRouter, HTTPException, Query
|
from fastapi import APIRouter, HTTPException, Query
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.api.models.common import APIResponse
|
|
||||||
from leggen.api.models.banks import (
|
from leggen.api.models.banks import (
|
||||||
BankInstitution,
|
|
||||||
BankConnectionRequest,
|
BankConnectionRequest,
|
||||||
BankRequisition,
|
|
||||||
BankConnectionStatus,
|
BankConnectionStatus,
|
||||||
|
BankInstitution,
|
||||||
|
BankRequisition,
|
||||||
)
|
)
|
||||||
|
from leggen.api.models.common import APIResponse
|
||||||
from leggen.services.gocardless_service import GoCardlessService
|
from leggen.services.gocardless_service import GoCardlessService
|
||||||
from leggen.utils.gocardless import REQUISITION_STATUS
|
from leggen.utils.gocardless import REQUISITION_STATUS
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
from typing import Dict, Any
|
from typing import Any, Dict
|
||||||
|
|
||||||
from fastapi import APIRouter, HTTPException
|
from fastapi import APIRouter, HTTPException
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.api.models.common import APIResponse
|
from leggen.api.models.common import APIResponse
|
||||||
from leggen.api.models.notifications import (
|
from leggen.api.models.notifications import (
|
||||||
|
DiscordConfig,
|
||||||
|
NotificationFilters,
|
||||||
NotificationSettings,
|
NotificationSettings,
|
||||||
NotificationTest,
|
NotificationTest,
|
||||||
DiscordConfig,
|
|
||||||
TelegramConfig,
|
TelegramConfig,
|
||||||
NotificationFilters,
|
|
||||||
)
|
)
|
||||||
from leggen.services.notification_service import NotificationService
|
from leggen.services.notification_service import NotificationService
|
||||||
from leggen.utils.config import config
|
from leggen.utils.config import config
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
from fastapi import APIRouter, HTTPException, BackgroundTasks
|
|
||||||
|
from fastapi import APIRouter, BackgroundTasks, HTTPException
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.api.models.common import APIResponse
|
from leggen.api.models.common import APIResponse
|
||||||
from leggen.api.models.sync import SyncRequest, SchedulerConfig
|
from leggen.api.models.sync import SchedulerConfig, SyncRequest
|
||||||
from leggen.services.sync_service import SyncService
|
|
||||||
from leggen.background.scheduler import scheduler
|
from leggen.background.scheduler import scheduler
|
||||||
|
from leggen.services.sync_service import SyncService
|
||||||
from leggen.utils.config import config
|
from leggen.utils.config import config
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
from typing import Optional, List, Union
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
from typing import List, Optional, Union
|
||||||
|
|
||||||
from fastapi import APIRouter, HTTPException, Query
|
from fastapi import APIRouter, HTTPException, Query
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.api.models.common import APIResponse, PaginatedResponse
|
|
||||||
from leggen.api.models.accounts import Transaction, TransactionSummary
|
from leggen.api.models.accounts import Transaction, TransactionSummary
|
||||||
|
from leggen.api.models.common import APIResponse, PaginatedResponse
|
||||||
from leggen.services.database_service import DatabaseService
|
from leggen.services.database_service import DatabaseService
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import os
|
import os
|
||||||
import requests
|
from typing import Any, Dict, List, Optional, Union
|
||||||
from typing import Dict, Any, Optional, List, Union
|
|
||||||
from urllib.parse import urljoin
|
from urllib.parse import urljoin
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
from leggen.utils.text import error
|
from leggen.utils.text import error
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
|||||||
from apscheduler.triggers.cron import CronTrigger
|
from apscheduler.triggers.cron import CronTrigger
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.utils.config import config
|
|
||||||
from leggen.services.sync_service import SyncService
|
|
||||||
from leggen.services.notification_service import NotificationService
|
from leggen.services.notification_service import NotificationService
|
||||||
|
from leggen.services.sync_service import SyncService
|
||||||
|
from leggen.utils.config import config
|
||||||
|
|
||||||
|
|
||||||
class BackgroundScheduler:
|
class BackgroundScheduler:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
from leggen.main import cli
|
|
||||||
from leggen.api_client import LeggenAPIClient
|
from leggen.api_client import LeggenAPIClient
|
||||||
|
from leggen.main import cli
|
||||||
from leggen.utils.text import datefmt, print_table
|
from leggen.utils.text import datefmt, print_table
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
from leggen.main import cli
|
|
||||||
from leggen.api_client import LeggenAPIClient
|
from leggen.api_client import LeggenAPIClient
|
||||||
|
from leggen.main import cli
|
||||||
from leggen.utils.disk import save_file
|
from leggen.utils.disk import save_file
|
||||||
from leggen.utils.text import info, print_table, warning, success
|
from leggen.utils.text import info, print_table, success, warning
|
||||||
|
|
||||||
|
|
||||||
@cli.command()
|
@cli.command()
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
"""Generate sample database command."""
|
"""Generate sample database command."""
|
||||||
|
|
||||||
import click
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
import click
|
||||||
|
|
||||||
|
|
||||||
@click.command()
|
@click.command()
|
||||||
@click.option(
|
@click.option(
|
||||||
@@ -34,8 +35,8 @@ def generate_sample_db(
|
|||||||
"""Generate a sample database with realistic financial data for testing."""
|
"""Generate a sample database with realistic financial data for testing."""
|
||||||
|
|
||||||
# Import here to avoid circular imports
|
# Import here to avoid circular imports
|
||||||
import sys
|
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
from pathlib import Path as PathlibPath
|
from pathlib import Path as PathlibPath
|
||||||
|
|
||||||
# Get the script path
|
# Get the script path
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from fastapi import FastAPI
|
|||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.api.routes import banks, accounts, sync, notifications, transactions
|
from leggen.api.routes import accounts, banks, notifications, sync, transactions
|
||||||
from leggen.background.scheduler import scheduler
|
from leggen.background.scheduler import scheduler
|
||||||
from leggen.utils.config import config
|
from leggen.utils.config import config
|
||||||
from leggen.utils.paths import path_manager
|
from leggen.utils.paths import path_manager
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
from leggen.main import cli
|
|
||||||
from leggen.api_client import LeggenAPIClient
|
from leggen.api_client import LeggenAPIClient
|
||||||
|
from leggen.main import cli
|
||||||
from leggen.utils.text import datefmt, echo, info, print_table
|
from leggen.utils.text import datefmt, echo, info, print_table
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
from leggen.main import cli
|
|
||||||
from leggen.api_client import LeggenAPIClient
|
from leggen.api_client import LeggenAPIClient
|
||||||
|
from leggen.main import cli
|
||||||
from leggen.utils.text import error, info, success
|
from leggen.utils.text import error, info, success
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
from leggen.main import cli
|
|
||||||
from leggen.api_client import LeggenAPIClient
|
from leggen.api_client import LeggenAPIClient
|
||||||
|
from leggen.main import cli
|
||||||
from leggen.utils.text import datefmt, info, print_table
|
from leggen.utils.text import datefmt, info, print_table
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ from pathlib import Path
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
from leggen.utils.config import load_config
|
from leggen.utils.config import load_config
|
||||||
from leggen.utils.text import error
|
|
||||||
from leggen.utils.paths import path_manager
|
from leggen.utils.paths import path_manager
|
||||||
|
from leggen.utils.text import error
|
||||||
|
|
||||||
cmd_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), "commands"))
|
cmd_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), "commands"))
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
from typing import Optional, List
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
|
|
||||||
@@ -61,6 +62,4 @@ class Config(BaseModel):
|
|||||||
scheduler: SchedulerConfig = Field(default_factory=SchedulerConfig)
|
scheduler: SchedulerConfig = Field(default_factory=SchedulerConfig)
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
allow_population_by_field_name = (
|
validate_by_name = True
|
||||||
True # Allow both 'case_insensitive' and 'case-insensitive'
|
|
||||||
)
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
from datetime import datetime, timedelta
|
|
||||||
from typing import List, Dict, Any, Optional
|
|
||||||
import sqlite3
|
|
||||||
import json
|
import json
|
||||||
|
import sqlite3
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
from datetime import datetime, timedelta
|
||||||
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
|
from leggen.services.transaction_processor import TransactionProcessor
|
||||||
from leggen.utils.config import config
|
from leggen.utils.config import config
|
||||||
from leggen.utils.paths import path_manager
|
from leggen.utils.paths import path_manager
|
||||||
from leggen.services.transaction_processor import TransactionProcessor
|
|
||||||
|
|
||||||
|
|
||||||
class DatabaseService:
|
class DatabaseService:
|
||||||
@@ -721,8 +721,8 @@ class DatabaseService:
|
|||||||
) -> List[Dict[str, Any]]:
|
) -> List[Dict[str, Any]]:
|
||||||
"""Persist transactions to SQLite"""
|
"""Persist transactions to SQLite"""
|
||||||
try:
|
try:
|
||||||
import sqlite3
|
|
||||||
import json
|
import json
|
||||||
|
import sqlite3
|
||||||
|
|
||||||
db_path = path_manager.get_database_path()
|
db_path = path_manager.get_database_path()
|
||||||
conn = sqlite3.connect(str(db_path))
|
conn = sqlite3.connect(str(db_path))
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import json
|
import json
|
||||||
import httpx
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, Any, List
|
from typing import Any, Dict, List
|
||||||
|
|
||||||
|
import httpx
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.utils.config import config
|
from leggen.utils.config import config
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import List, Dict, Any
|
from typing import Any, Dict, List
|
||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
@@ -119,9 +119,10 @@ class NotificationService:
|
|||||||
) -> None:
|
) -> None:
|
||||||
"""Send Discord notifications for transactions"""
|
"""Send Discord notifications for transactions"""
|
||||||
try:
|
try:
|
||||||
from leggen.notifications.discord import send_transactions_message
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
from leggen.notifications.discord import send_transactions_message
|
||||||
|
|
||||||
# Create a mock context with the webhook
|
# Create a mock context with the webhook
|
||||||
ctx = click.Context(click.Command("notifications"))
|
ctx = click.Context(click.Command("notifications"))
|
||||||
ctx.obj = {
|
ctx.obj = {
|
||||||
@@ -148,9 +149,10 @@ class NotificationService:
|
|||||||
) -> None:
|
) -> None:
|
||||||
"""Send Telegram notifications for transactions"""
|
"""Send Telegram notifications for transactions"""
|
||||||
try:
|
try:
|
||||||
from leggen.notifications.telegram import send_transaction_message
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
from leggen.notifications.telegram import send_transaction_message
|
||||||
|
|
||||||
# Create a mock context with the telegram config
|
# Create a mock context with the telegram config
|
||||||
ctx = click.Context(click.Command("notifications"))
|
ctx = click.Context(click.Command("notifications"))
|
||||||
telegram_config = self.notifications_config.get("telegram", {})
|
telegram_config = self.notifications_config.get("telegram", {})
|
||||||
@@ -175,9 +177,10 @@ class NotificationService:
|
|||||||
async def _send_discord_test(self, message: str) -> None:
|
async def _send_discord_test(self, message: str) -> None:
|
||||||
"""Send Discord test notification"""
|
"""Send Discord test notification"""
|
||||||
try:
|
try:
|
||||||
from leggen.notifications.discord import send_expire_notification
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
from leggen.notifications.discord import send_expire_notification
|
||||||
|
|
||||||
# Create a mock context with the webhook
|
# Create a mock context with the webhook
|
||||||
ctx = click.Context(click.Command("test"))
|
ctx = click.Context(click.Command("test"))
|
||||||
ctx.obj = {
|
ctx.obj = {
|
||||||
@@ -206,9 +209,10 @@ class NotificationService:
|
|||||||
async def _send_telegram_test(self, message: str) -> None:
|
async def _send_telegram_test(self, message: str) -> None:
|
||||||
"""Send Telegram test notification"""
|
"""Send Telegram test notification"""
|
||||||
try:
|
try:
|
||||||
from leggen.notifications.telegram import send_expire_notification
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
from leggen.notifications.telegram import send_expire_notification
|
||||||
|
|
||||||
# Create a mock context with the telegram config
|
# Create a mock context with the telegram config
|
||||||
ctx = click.Context(click.Command("test"))
|
ctx = click.Context(click.Command("test"))
|
||||||
telegram_config = self.notifications_config.get("telegram", {})
|
telegram_config = self.notifications_config.get("telegram", {})
|
||||||
@@ -237,9 +241,10 @@ class NotificationService:
|
|||||||
async def _send_discord_expiry(self, notification_data: Dict[str, Any]) -> None:
|
async def _send_discord_expiry(self, notification_data: Dict[str, Any]) -> None:
|
||||||
"""Send Discord expiry notification"""
|
"""Send Discord expiry notification"""
|
||||||
try:
|
try:
|
||||||
from leggen.notifications.discord import send_expire_notification
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
from leggen.notifications.discord import send_expire_notification
|
||||||
|
|
||||||
# Create a mock context with the webhook
|
# Create a mock context with the webhook
|
||||||
ctx = click.Context(click.Command("expiry"))
|
ctx = click.Context(click.Command("expiry"))
|
||||||
ctx.obj = {
|
ctx.obj = {
|
||||||
@@ -262,9 +267,10 @@ class NotificationService:
|
|||||||
async def _send_telegram_expiry(self, notification_data: Dict[str, Any]) -> None:
|
async def _send_telegram_expiry(self, notification_data: Dict[str, Any]) -> None:
|
||||||
"""Send Telegram expiry notification"""
|
"""Send Telegram expiry notification"""
|
||||||
try:
|
try:
|
||||||
from leggen.notifications.telegram import send_expire_notification
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
from leggen.notifications.telegram import send_expire_notification
|
||||||
|
|
||||||
# Create a mock context with the telegram config
|
# Create a mock context with the telegram config
|
||||||
ctx = click.Context(click.Command("expiry"))
|
ctx = click.Context(click.Command("expiry"))
|
||||||
telegram_config = self.notifications_config.get("telegram", {})
|
telegram_config = self.notifications_config.get("telegram", {})
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ from typing import List
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from leggen.api.models.sync import SyncResult, SyncStatus
|
from leggen.api.models.sync import SyncResult, SyncStatus
|
||||||
from leggen.services.gocardless_service import GoCardlessService
|
|
||||||
from leggen.services.database_service import DatabaseService
|
from leggen.services.database_service import DatabaseService
|
||||||
|
from leggen.services.gocardless_service import GoCardlessService
|
||||||
from leggen.services.notification_service import NotificationService
|
from leggen.services.notification_service import NotificationService
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List, Dict, Any
|
from typing import Any, Dict, List
|
||||||
|
|
||||||
|
|
||||||
class TransactionProcessor:
|
class TransactionProcessor:
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import tomllib
|
import tomllib
|
||||||
import tomli_w
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, Any, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
import tomli_w
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
from pydantic import ValidationError
|
from pydantic import ValidationError
|
||||||
|
|
||||||
from leggen.utils.text import error
|
|
||||||
from leggen.utils.paths import path_manager
|
|
||||||
from leggen.models.config import Config as ConfigModel
|
from leggen.models.config import Config as ConfigModel
|
||||||
|
from leggen.utils.paths import path_manager
|
||||||
|
from leggen.utils.text import error
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import sqlite3
|
|||||||
import sys
|
import sys
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Dict, Any
|
from typing import Any, Dict, List
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
"""Pytest configuration and shared fixtures."""
|
"""Pytest configuration and shared fixtures."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
import tempfile
|
|
||||||
import json
|
import json
|
||||||
|
import tempfile
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
from fastapi.testclient import TestClient
|
from fastapi.testclient import TestClient
|
||||||
|
|
||||||
from leggen.commands.server import create_app
|
from leggen.commands.server import create_app
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
"""Tests for analytics fixes to ensure all transactions are used in statistics."""
|
"""Tests for analytics fixes to ensure all transactions are used in statistics."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from unittest.mock import Mock, AsyncMock, patch
|
from unittest.mock import AsyncMock, Mock, patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
from fastapi.testclient import TestClient
|
from fastapi.testclient import TestClient
|
||||||
|
|
||||||
from leggen.commands.server import create_app
|
from leggen.commands.server import create_app
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
"""Tests for accounts API endpoints."""
|
"""Tests for accounts API endpoints."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.api
|
@pytest.mark.api
|
||||||
class TestAccountsAPI:
|
class TestAccountsAPI:
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
"""Tests for banks API endpoints."""
|
"""Tests for banks API endpoints."""
|
||||||
|
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import httpx
|
||||||
import pytest
|
import pytest
|
||||||
import respx
|
import respx
|
||||||
import httpx
|
|
||||||
from unittest.mock import patch
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.api
|
@pytest.mark.api
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
"""Tests for CLI API client."""
|
"""Tests for CLI API client."""
|
||||||
|
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import requests
|
import requests
|
||||||
import requests_mock
|
import requests_mock
|
||||||
from unittest.mock import patch
|
|
||||||
|
|
||||||
from leggen.api_client import LeggenAPIClient
|
from leggen.api_client import LeggenAPIClient
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
"""Tests for transactions API endpoints."""
|
"""Tests for transactions API endpoints."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
from unittest.mock import patch
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.api
|
@pytest.mark.api
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
"""Tests for configuration management."""
|
"""Tests for configuration management."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from leggen.utils.config import Config
|
from leggen.utils.config import Config
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
"""Integration tests for configurable paths."""
|
"""Integration tests for configurable paths."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
import tempfile
|
|
||||||
import os
|
import os
|
||||||
|
import tempfile
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
from leggen.utils.paths import path_manager
|
import pytest
|
||||||
|
|
||||||
from leggen.services.database_service import DatabaseService
|
from leggen.services.database_service import DatabaseService
|
||||||
|
from leggen.utils.paths import path_manager
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.unit
|
@pytest.mark.unit
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
"""Tests for database service."""
|
"""Tests for database service."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
from unittest.mock import patch
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from leggen.services.database_service import DatabaseService
|
from leggen.services.database_service import DatabaseService
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
"""Tests for background scheduler."""
|
"""Tests for background scheduler."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
from unittest.mock import patch, AsyncMock, MagicMock
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from unittest.mock import AsyncMock, MagicMock, patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from leggen.background.scheduler import BackgroundScheduler
|
from leggen.background.scheduler import BackgroundScheduler
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user