5d2bced39f
- PROGRESS.md: update to 2026-05-29 with security hardening (T-005), 4-frontend architecture, AI provider refactoring, discovery features, landing page/referral/quota, desktop layout, admin AI management - AGENTS.md: add AI provider list (Alibaba/NVIDIA, removed Claude/DeepL/Local), DB-driven config, CSRF/rate-limit/CORS notes, admin_ai reload quirk - .env.example: sync with actual config, replace deprecated providers with current Sensenova/OpencodeGo/NVIDIA/Spark/Alibaba - docs/PROJECT_STATUS.md: archive (fully superseded by PROGRESS.md) - Remove generated JS files (_bing_search.js, _batch_search.js) - Remove empty directories (data/corpus, data/models) - Remove backend/.coverage (test artifact) - Fix services/.gitignore to cover _bing_search.js - Include pending AI provider DB admin feature (admin_ai, AIProvider model, AIProviders.vue, migration) and T-008 test report
43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
import pytest
|
|
from app.config import settings
|
|
|
|
|
|
class TestConfig:
|
|
def test_app_name(self):
|
|
assert settings.APP_NAME == "TradeMate"
|
|
|
|
def test_jwt_algorithm(self):
|
|
assert settings.JWT_ALGORITHM == "HS256"
|
|
|
|
def test_token_expiration(self):
|
|
assert settings.ACCESS_TOKEN_EXPIRE_MINUTES == 60
|
|
assert settings.REFRESH_TOKEN_EXPIRE_DAYS == 30
|
|
|
|
def test_ai_routing_config(self):
|
|
assert "translate" in settings.AI_ROUTING
|
|
assert "reply" in settings.AI_ROUTING
|
|
assert "marketing" in settings.AI_ROUTING
|
|
assert "extract" in settings.AI_ROUTING
|
|
assert "primary" in settings.AI_ROUTING["translate"]
|
|
|
|
def test_free_tier_limits(self):
|
|
assert settings.FREE_DAILY_TRANSLATE_CHARS == 5000
|
|
assert settings.FREE_DAILY_REPLIES == 20
|
|
assert settings.FREE_DAILY_MARKETING == 5
|
|
assert settings.FREE_MAX_CUSTOMERS == 5
|
|
assert settings.FREE_MAX_PRODUCTS == 1
|
|
assert settings.FREE_DAILY_QUOTATIONS == 3
|
|
|
|
def test_pro_tier_limits(self):
|
|
assert settings.PRO_DAILY_TRANSLATE_CHARS == 50000
|
|
assert settings.PRO_DAILY_REPLIES == 200
|
|
assert settings.PRO_MAX_CUSTOMERS == 100
|
|
assert settings.PRO_MAX_PRODUCTS == 20
|
|
|
|
def test_database_url_configured(self):
|
|
assert settings.DATABASE_URL is not None
|
|
# Production database is 'tradmate', test database is 'foreign_trade_test'
|
|
assert "tradmate" in settings.DATABASE_URL or "foreign_trade" in settings.DATABASE_URL
|
|
|
|
def test_redis_url_configured(self):
|
|
assert settings.REDIS_URL is not None |