test(e2e): log service warnings and give search indexing more time
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2285107d04
commit
896f3b986b
1 file changed
+5
-2
@@ -90,7 +90,7 @@ func (c *client) ok(method, path string, body, out any) {
|
|||||||
// eventually повторяет проверку до таймаута (скан, индексация поиска — фоновые).
|
// eventually повторяет проверку до таймаута (скан, индексация поиска — фоновые).
|
||||||
func eventually(t *testing.T, what string, fn func() bool) {
|
func eventually(t *testing.T, what string, fn func() bool) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
deadline := time.Now().Add(30 * time.Second)
|
deadline := time.Now().Add(60 * time.Second)
|
||||||
for time.Now().Before(deadline) {
|
for time.Now().Before(deadline) {
|
||||||
if fn() {
|
if fn() {
|
||||||
return
|
return
|
||||||
@@ -157,7 +157,9 @@ func TestUserJourney(t *testing.T) {
|
|||||||
rdb := redis.NewClient(opts)
|
rdb := redis.NewClient(opts)
|
||||||
defer func() { _ = rdb.Close() }()
|
defer func() { _ = rdb.Close() }()
|
||||||
|
|
||||||
handler, err := newApp(ctx, cfg, pool, rdb, slog.New(slog.DiscardHandler), fakeProber{})
|
// Предупреждения и ошибки сервиса — в вывод теста: по ним видно, почему шаг не прошёл.
|
||||||
|
logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: slog.LevelWarn}))
|
||||||
|
handler, err := newApp(ctx, cfg, pool, rdb, logger, fakeProber{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
srv := httptest.NewServer(handler)
|
srv := httptest.NewServer(handler)
|
||||||
defer srv.Close()
|
defer srv.Close()
|
||||||
@@ -210,6 +212,7 @@ func TestUserJourney(t *testing.T) {
|
|||||||
Tracks []track `json:"tracks"`
|
Tracks []track `json:"tracks"`
|
||||||
}
|
}
|
||||||
eventually(t, "search index", func() bool {
|
eventually(t, "search index", func() bool {
|
||||||
|
time.Sleep(time.Second)
|
||||||
return c.call("GET", "/api/v1/search?q="+url.QueryEscape("кино"), nil, &found) == 200 && len(found.Albums) == 1
|
return c.call("GET", "/api/v1/search?q="+url.QueryEscape("кино"), nil, &found) == 200 && len(found.Albums) == 1
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user