Files
xiaoxia-saas/tests/unit/domain/test_email_config.py
xiaoxia 63d4048354
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (push) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
test(domain): wave196 小模块批量单测 +74 (#1160)
2026-07-30 00:25:01 +08:00

64 lines
1.9 KiB
Python
Executable File

"""EmailConfig 单元测试."""
from __future__ import annotations
import pytest
from domain.auth.email_service import EmailConfig
class TestEmailConfigDefaults:
"""默认值测试."""
def test_default_values(self):
config = EmailConfig()
assert config.smtp_host == "smtp.gmail.com"
assert config.smtp_port == 587
assert config.smtp_user == ""
assert config.smtp_password == ""
assert config.from_email == ""
assert config.from_name == "小虾 SaaS"
assert config.use_tls is True
def test_custom_construction(self):
config = EmailConfig(
smtp_host="smtp.example.com",
smtp_port=465,
smtp_user="user@example.com",
smtp_password="secret",
from_email="no-reply@example.com",
from_name="Example App",
use_tls=False,
)
assert config.smtp_host == "smtp.example.com"
assert config.smtp_port == 465
assert config.smtp_user == "user@example.com"
assert config.smtp_password == "secret"
assert config.from_email == "no-reply@example.com"
assert config.from_name == "Example App"
assert config.use_tls is False
def test_is_dataclass(self):
# 可重复创建相同配置
c1 = EmailConfig(smtp_host="h.com", smtp_port=25)
c2 = EmailConfig(smtp_host="h.com", smtp_port=25)
assert c1 == c2
class TestEmailConfigEquality:
"""相等性测试."""
def test_equal_same_values(self):
c1 = EmailConfig()
c2 = EmailConfig()
assert c1 == c2
def test_not_equal_different_host(self):
c1 = EmailConfig(smtp_host="a.com")
c2 = EmailConfig(smtp_host="b.com")
assert c1 != c2
def test_not_equal_different_port(self):
c1 = EmailConfig(smtp_port=587)
c2 = EmailConfig(smtp_port=465)
assert c1 != c2