Update readme
This commit is contained in:
parent
2dda61337e
commit
1523bbeba2
2 changed files with 20 additions and 2 deletions
|
@ -30,3 +30,19 @@ Client и Coordinator общаются через два вызова.
|
|||
- Конструкторы клиентов и хендлеров принимают первым параметром `*zap.Logger`. Запишите в лог события
|
||||
получения/отправки запроса и все ошибки. Это поможет вам отлаживать интеграционные тесты
|
||||
в следующей части задания.
|
||||
|
||||
- Все методы должны "пробрасывать" контекст.
|
||||
* Контекст на клиенте нужно передать в функцию `http.NewRequestContext`.
|
||||
* Контекст на сервере нужно получить из `r.Context()` и передать в `Service`.
|
||||
|
||||
- Код в этом пакете не должен запускать новые горутины.
|
||||
|
||||
- Ошибку из `Service.StartBuild` нужно посылать клиенту. Если эта ошибка произошла после того,
|
||||
как хендлер начал писать body, то ошибку нужно передавать в потоке json-ов в поле `StatusUpdate.BuildFailed`.
|
||||
|
||||
- Код всех вызовов в этом пакете работает одинаково:
|
||||
1. Пользователь вызывает метод `*Client`.
|
||||
2. Метод делает HTTP запрос к серверу.
|
||||
3. `*Handler` принимает запрос, декодирует его и передает в `*Service`.
|
||||
4. (*) В случае вызова `/build`, сервис пишет обновления в `StatusWriter`, а клиентский код читает эти обновления из `StatusReader`.
|
||||
5. Ответ или ошибка из `*Service` возвращается пользователю.
|
||||
|
|
|
@ -114,6 +114,7 @@ func TestBuildRunning(t *testing.T) {
|
|||
|
||||
rsp, r, err := env.client.StartBuild(ctx, req)
|
||||
require.NoError(t, err)
|
||||
defer r.Close()
|
||||
|
||||
require.Equal(t, started, rsp)
|
||||
|
||||
|
@ -153,7 +154,8 @@ func TestBuildResultsStreaming(t *testing.T) {
|
|||
return ctx.Err()
|
||||
})
|
||||
|
||||
rsp, _, err := env.client.StartBuild(ctx, req)
|
||||
rsp, r, err := env.client.StartBuild(ctx, req)
|
||||
require.NoError(t, err)
|
||||
defer r.Close()
|
||||
require.Equal(t, started, rsp)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue