/
liquid-g
/
liquid-code
Обзор
Документация
Войти
/
liquid-g
/
liquid-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop-0.4
tests/test_dto_integration.py
63 строки
2 KB
User
0.4.13 - Request/Response DTO с генератором make:dto и полная структура документации по маршрутизации" -m "- Добавлен генератор DTO: lcc make:dto <name> с валидацией через Pydantic
06 июл 2026, 16:08
06 июл 2026, 16:08
01392a9
Код
Авторство
О чём код?
"""Тесты интеграции DTO.""" import sys import os # Добавляем tests в путь для импорта sys.path.insert(0, os.path.dirname(__file__)) def test_dto_validation(): """Тестирует валидацию DTO.""" try: from DTO.ProductDTO import ProductDTO except ImportError: # Создаем DTO, если его нет from pydantic import BaseModel class ProductDTO(BaseModel): pass # Сохраняем для будущего использования os.makedirs('DTO', exist_ok=True) with open('DTO/ProductDTO.py', 'w', encoding='utf-8') as f: f.write('''from pydantic import BaseModel class ProductDTO(BaseModel): """DTO для Product.""" pass ''') # Тест 1: Создание валидного DTO try: dto = ProductDTO() print("[OK] Создан пустой ProductDTO") print(f" {dto.model_dump()}") except Exception as e: print(f"[FAIL] Не удалось создать ProductDTO: {e}") return False # Тест 2: Сериализация try: data = dto.model_dump() assert isinstance(data, dict), "model_dump() должен возвращать dict" print("[OK] Сериализация в dict работает") except Exception as e: print(f"[FAIL] Ошибка сериализации: {e}") return False # Тест 3: Десериализация try: dto2 = ProductDTO.model_validate(data) assert isinstance(dto2, ProductDTO), "model_validate должен возвращать ProductDTO" print("[OK] Десериализация работает") except Exception as e: print(f"[FAIL] Ошибка десериализации: {e}") return False print("\n[OK] Все тесты DTO валидации прошли успешно!") if __name__ == "__main__": test_dto_validation()