Новый GitHub-проект ReducePy — это сервис для сокращения ссылок, разработанный с использованием Tornado и Redis, для запуска на Docker.
Проверить работу последней версии можно анонимно:
$ git clone git://github.com/abdullahselek/ReducePy.git
$ cd ReducePy
Установить зависимости можно любым из этих способов:
$ pip install -Ur requirements.testing.txt
$ pip install -Ur requirements.txt
Для установки минимального набора зависимостей достаточно:
$ pip install -Ur requirements.txt
Запуск тестов
Набор тестов работает с одной версией Python. Для этого требуются pip install pytest
и, необязательно, pip install pytest-cov
— они устанавливаются в числе зависимостей из requirements.testing.txt
.
Для запуска юнит-тестов с одной версией Python:
$ py.test -v
Для проверки покрытия кода:
$ py.test -v --cov-report xml --cov=reducepy
Для запуска юнит-тестов с набором версий Python:
$ tox
Команды
Запуск в Docker:
docker-compose up
Пример:
# Сокращение URL с помощью POST
curl -i http://127.0.0.1:8888 -F "url=https://github.com"
# Ответ
{
"error": false,
"shorten_url": "http://127.0.0.1:8888/forward?unique=YjUwYQ"
}
# Перенаправление на исходный URL
http://127.0.0.1:8888/forward?unique=YjUwYQ