diff --git a/hw06_pipeline_execution/pipeline_test.go b/hw06_pipeline_execution/pipeline_test.go index acd9f36..8f65713 100644 --- a/hw06_pipeline_execution/pipeline_test.go +++ b/hw06_pipeline_execution/pipeline_test.go @@ -15,7 +15,7 @@ const ( func TestPipeline(t *testing.T) { // Stage generator - g := func(name string, f func(v I) I) Stage { + g := func(name string, f func(v interface{}) interface{}) Stage { return func(in In) Out { out := make(Bi) go func() { @@ -30,10 +30,10 @@ func TestPipeline(t *testing.T) { } stages := []Stage{ - g("Dummy", func(v I) I { return v }), - g("Multiplier (* 2)", func(v I) I { return v.(int) * 2 }), - g("Adder (+ 100)", func(v I) I { return v.(int) + 100 }), - g("Stringifier", func(v I) I { return strconv.Itoa(v.(int)) }), + g("Dummy", func(v interface{}) interface{} { return v }), + g("Multiplier (* 2)", func(v interface{}) interface{} { return v.(int) * 2 }), + g("Adder (+ 100)", func(v interface{}) interface{} { return v.(int) + 100 }), + g("Stringifier", func(v interface{}) interface{} { return strconv.Itoa(v.(int)) }), } t.Run("simple case", func(t *testing.T) { diff --git a/hw12_13_14_15_calendar/docs/15_README.md b/hw12_13_14_15_calendar/docs/15_README.md index 0a34031..1367c7c 100644 --- a/hw12_13_14_15_calendar/docs/15_README.md +++ b/hw12_13_14_15_calendar/docs/15_README.md @@ -29,21 +29,22 @@ HTTP API, например, после запуска должно быть до ### 2) Интеграционное тестирование Необходимо: -* создать отдельный пакет для интеграционных тестов; -* описать бизнес-сценарии на языке Gherkin в *.feature файлах; -* реализовать все шаги сценариев с использованием библиотеки https://github.com/cucumber/godog: -при этом шаги могут рассчитывать на то, что запущены в docker-compose и знают endpoint'ы всех -сервисов; сценарии работают с HTTP/GRPC API календаря, при необходимости с БД и очередью сообщений; +* создать отдельный пакет для интеграционных тестов. +* реализовать интеграционные тесты на языке Go; при желании можно использовать +[godog](https://github.com/cucumber/godog) / [ginkgo](https://github.com/onsi/ginkgo), но +обязательным требованием это **не является**. * создать docker-compose файл, поднимающий все сервисы проекта + контейнер с интеграционными тестами; -* расширить Makefile командой `bdd`, `make bdd` будет запускать интеграционные тесты; +* расширить Makefile командой `integration-tests`, `make integration-tests` будет запускать интеграционные тесты; **не стоит смешивать это с `make test`, иначе CI-пайплайн не пройдёт.** +* прикрепить в Merge Request вывод команды `make integration-tests`. -Преподаватель может запустить интеграционные тесты в `docker-compose` с помощью команды `make bdd`. -В случае успешного выполнения команда должна возвращать 0, иначе 1. +Преподаватель может запустить интеграционные тесты с помощью команды `make integration-tests`: +- команда должна поднять окружение (`docker-compose`), прогнать тесты и подчистить окружение за собой; +- в случае успешного выполнения команда должна возвращать 0, иначе 1. ### Критерии оценки - Проект полностью запускается и останавливается с помощью `make up` / `make down` - 3 балла -- Интеграционные тесты запускаются с помощью `make bdd`. Команда возвращает верный код ответа - 1 балл +- Интеграционные тесты запускаются с помощью `make integration-tests`. Команда возвращает верный код ответа - 1 балл - Интеграционные тесты покрывают бизнес сценарии: - добавление события и обработка бизнес ошибок - 2 балла - получение листинга событий на день/неделю/месяц - 2 балла