Перед запуском нужно настроить конфигурацию проекта в файле .env
все пояснения указанны в комментариях.
Для развёртывания сервиса можно воспользоваться как docker, так и развернуть используя venv модуль.
- venv
python3 -m venv venv
source venv/bin/activate
pip install -U pip
pip install -r requirements.txt
python app.py
- docker
Если конфигурация по умолчанию то порты можно не менять.
docker build -t api .
docker run -p 8080:8080 api -d
В папке tests/ есть два модуля с тестами, test_units.py
не требует ничего и может быть запущен без необходимости запускать сервис или развёртывать базу данных. Модулья test_integrational.py
требует для работы поднятого сервиса и передачи параметра url. Так же интеграционные тесты размечены марками pytest.mark.api, для запуска используем pytest -m api --url={BASE_API_ENDPOINT}
где BASE_API_ENDPOINT это адрес на котором поднят сервис.
Для запуска лучше использовать встроенный runner PyCharm иначе будут проблемы с импортами модулей, чтобы не было проблем из терминала запускаем так $ PYTHONPATH=~/delivery_api pytest tests/test_units.py
.
Спецификацию в формате OpenApi можно найти в папке spec.