На практике понять суть тестирования корректности взаимодействия отдельных сервисов. Познакомиться с фреймворком Testcontainers, работой с фабриками через factory-boy, техникой использования изолированных окружений с Apache Kafka и PostgreSQL
Необходимо разработать два сервиса и проверить корректность взаимодействия:
orders: принимает заказ, сохраняет его в базу данных (PostgreSQL) и отправляет событие о новом заказе в очередь Kafkanotifications: прослушивает очередь Kafka, получает события о новых заказах и логгирует информациюХод работы:
DockerOrder с помощью SQLAlchemy с полями id, item_name, quantity (Id должен генерироваться автоматически, автоинкремент или GUID)orders и notifications (в минимальном исполнении, достаточном для тестирования)factory-boy (генерация случайных названий и количества)pytest:
Order и сохранить их в тестовую базу данныхorders (передаваемый заказ также должен быть создан с помощью фабрики)notificationsid и item_name отправленного заказа)Kafka -> чтение сообщения из KafkaPostgreSQL или Kafka), необходимо использовать Testcontainersfactory-boy, никакого хардкода тестовых сущностей