test: add comprehensive tests for critical untested files and fix deprecated warnings

- Add tests for migrate_logs_to_steps.py, upload_to_paperless.py, dropbox API,
  upload_to_dropbox.py, upload_to_nextcloud.py, upload_to_onedrive.py,
  upload_with_rclone.py, and config_validator.py
- Fix PydanticDeprecatedSince20: @validator → @field_validator in config.py, url_upload.py
- Fix PydanticDeprecatedSince20: class Config → model_config = SettingsConfigDict
- Fix PydanticDeprecatedSince211: filter Pydantic internals in settings_display.py
- Fix MovedIn20Warning: use sqlalchemy.orm.declarative_base instead of ext.declarative

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-12 17:32:17 +00:00
parent fca5236b47
commit dff32e08e1
12 changed files with 2840 additions and 35 deletions
+3 -2
View File
@@ -12,7 +12,7 @@ from typing import Optional
import requests
from fastapi import APIRouter, HTTPException, Request
from pydantic import BaseModel, HttpUrl, validator
from pydantic import BaseModel, HttpUrl, field_validator
from app.auth import require_login
from app.config import settings
@@ -31,7 +31,8 @@ class URLUploadRequest(BaseModel):
url: HttpUrl
filename: Optional[str] = None
@validator("url")
@field_validator("url")
@classmethod
def validate_url_scheme(cls, v):
"""Ensure only HTTP/HTTPS schemes are allowed"""
parsed = urllib.parse.urlparse(str(v))