Closed selevit closed 7 years ago
Позвольте высказать свои соображения. Функциональное тестирование и конфиг с описанием бота, конечно, нужны и важны. @selevit, cпасибо!
Но есть нюансы:
test:
request:
url: /info
response:
code: 200
json:
info: ...
author: ...
test:
request:
url: /event
json:
text: ...
username: ...
display_name: ...
response:
code: 201
json:
text: ...
bot: ...
UP: Представим, что какой-то из ботов решили использовать третьи лица в своем чате. Им придется либо проигнорировать текущий конфиг, либо разобраться и каким-то образом перенести к себе текущую реализацию тестирования.
С одной стороны да, с другой - спека для всех ботов одна и не стоит давать возможность ее переопределять в тесткейсах.
Добавил подробное описание конфига с комментариями про коды ответа.
@selevit , @umputun
И все-таки я считаю, что файл bot-spec.yml
не должен лежать в папке с проектом бота.
Так сейчас все помещено в один репозиторий только для скорости и удобства, но фактически каждая папка с ботом это отдельный репозиторий и нужно быть готовым что в любой момент такая папка превратится в отдельный репо. Какой тогда смысл будет у файла bot-spec.yml
?
Предлагаю. Давайте сделаем один конфиг файл ci/bot-spec.yml
и там перечислим всех ботов и тесты к ним. По аналогии с etc/nginx.conf
Ты пишешь все идеологически верно, но держать конфиги отдельно от ботов неудобно. Давай решать проблемы по мере их поступления. Сейчас у нас нет задачи сделать каждого бота независимой сущностью, тем более, что почти все они так или иначе завязаны на данный подкаст.
мне наоборот кажется, что bot-spec.yml
должен быть для каждого бота, особенно в контексте возможности "готовым что в любой момент такая папка превратится в отдельный репо"
То, что nginx часть задается отдельно, и она общая для всех - это не то чтоб правильная модель на которую стоит равняться, но наооборот - я так сделал потому, что не хотел возится с сборкой этого дела из ботов, что было бы более правильным решением.
Хочу разобраться, не для холивара, а для своего общего развития :)
Допустим, боты из папок уехали в отдельные репозитории.
Кому-то оказался полезным один из этих проектов.
Он решает немного дополнить функционал.
Форкает проект себе.
Вопрос, что ему делать с файлом bot-spec.yml
?
Я вижу три варианта: 1) Удалить 2) Найти и разобраться с велосипедом гайка от которого тут лежит 3) Комбинация двух предыдущих - сделать свои тесты
Для ботов поддерживаются конфиги, которые описывают базовую информацию о боте и его тесткейсы. На основе этих конфигов происходит функциональное тестирование бота в travis. В будущем, по нему же, возможно, будет происходить автоматическая регистрация бота.
Нужно запилить конфигурационные файлы для всех ботов.
Пример конфига для карма-бота: