Skip to content

yandex-lego/test-task-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

test-task-tools

Тестовое задания на вакансию в группу разработки инструментов

pr-updater

Написать модуль для обновления описания PR в репозитории на github'е. Модуль должен иметь интерфейс командной строки, а также библиотечный API. С помощью интерфейса командной строки пользователь, находясь в директории склонированного репозитория, должен иметь возможность работать с отдельными секциями описания определенного PR, не затрагивая при этом всю остальную часть описания.

Данные

  • номер PR, id секции и текст задаются в командной строке при вызове
  • адрес репозитория вычисляются из текущего окружения (можно запустить какую-нибудь команду или вычитать файл)
  • авторизационный токен должен вычитываться из конфигурационного файла, находящегося либо в рабочей директории либо в домашней директории пользователя

Функциональность

  • добавить новую секцию
  • обновить существующую секцию
  • считать текст существующей секции
  • удалить секцию
  • удалить все секции

Библиотечный API должен обеспечивать возможность использования утилиты в качестве подключаемого модуля.

Основная функциональность должны быть покрыта unit-тестами.

Пример

Допустим, есть Pull Request:

01

Добавляем секцию codestyle:

$ pr-updater --pr 2 --section codestyle 'Codestyle: 13 errors' 02

Добавляем секцию coverage:

$ pr-updater --pr 2 --section coverage 'Coverage: 70%' 03

Меняем текст в секции codestyle:

$ pr-updater --pr 2 --section codestyle 'Codestyle: :ok_hand:' 04

Выводим текст из секции codestyle:

$ pr-updater --pr 2 --section codestyle
> Codestyle: :ok_hand:

Удаляем секцию codestyle:

$ pr-updater --pr 2 --section codestyle --delete 05

Добавляем секцию review:

$ pr-updater --pr 2 --section review 'Review: cody0, ok' 06

Удаляем все добавленные ранне секции:

$ pr-updater --pr 2 --clear 07

Полезные ссылки

Дополнительно

Если номер PR не указан в параметрах командной строки, утилита должна попытаться определить номер автоматически, исходя из названия текущей рабочей ветки (которое также можно узнать из окружения)

NB

Не нужно публиковать пакет в репозиторий npm - таким образом вы просто наплодите там кучу ненужных пакетов всевозможных вариаций pr-updater'ов. Вашего личного репозитория на github.com или архива с исходниками вполне достаточно

About

Test task for tools developer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published