Время на выполнение задания до 60 минут.
Основная цель данного тестового задания - создание сервера с использованием библиотеки aiohttp, который будет предоставлять следующие API:
Задача 1. Создание базового API
- Метод: GET
- Путь: /healthcheck
- Ответ: пустой JSON и статус 200 для каждого запроса.
Задача 2. Создание API для хеширования
- Метод: POST
- Путь: /hash
- Тело запроса: JSON объект с обязательным полем 'string'.
- Ответ: Если поле отсутствует - статус 400 и JSON с полем 'validation_errors'. В противном случае возвращается JSON с полем "hash_string", содержащим хэш строки, вычисленный по алгоритму SHA256.
Задача 3. Создание точки входа для запуска сервера
- Используя библиотеку Click, создайте точку входа для запуска сервера.
Задача 4. Создание Dockerfile
- Напишите Dockerfile, где команда CMD или ENTRYPOINT запускает сервер.
Задача 5. Написание тестов
- Напишите тесты с использованием pytest для базовых сценариев вызова API, описанных выше.
Для выполнения задания дается 2 дня с момента его получения. Готовое решение отправьте ссылкой на публичный репозиторий на GitHub.