Size: a a a

NestJS — русскоязычное сообщество

2020 March 09

IK

ILshat Khamitov in NestJS — русскоязычное сообщество
Никак
источник

IK

ILshat Khamitov in NestJS — русскоязычное сообщество
Это разный поток stdout
источник

IK

ILshat Khamitov in NestJS — русскоязычное сообщество
Скорее всего все норм потоки просто по разному пишут в оутпут
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
ILshat Khamitov
Скорее всего все норм потоки просто по разному пишут в оутпут
Jest did not exit one second after the test run has completed.

This usually means that there are asynchronous operations that weren't stopped in your tests.
источник

BY

Bitalik Yatsenko in NestJS — русскоязычное сообщество
Тоесть вполне адекватно хранить список подключенных клиентов например в том же gateway в виде { [userid]: [ws client] } и по id уже получать клиента и отправлять по нему евенти?
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Bitalik Yatsenko
Тоесть вполне адекватно хранить список подключенных клиентов например в том же gateway в виде { [userid]: [ws client] } и по id уже получать клиента и отправлять по нему евенти?
Нет.
1. Я бы хранил Map, а не просто объект
2. Это не сработает, если будет 2+ инстанса приложения, юзер может быть одновременно подключен к двум разным, а эта переменная не общая.
Т.е. надо что-то типа редиса
3. Если испоьлзовать socket.io, то там уже есть комнаты. Достаточно засовывать юзера в его персональную комнату.
+ подключить редис адаптер, который решит проблему 2 для комнат
источник

BY

Bitalik Yatsenko in NestJS — русскоязычное сообщество
Если я подключаю редис и пихаю пользователей уже по комнатах то мне выходит не нужно хранить список комнат ? ну и список подключений
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Тоже по сокетам вопрос, хотя скорее к Jest. Как может быть так, что асинхронный тест проходит раньше, чем вызывается done?

UPD: я точно знаю, что на сервере AUTHORIZED вызван позже...
Объявление теста async не помогает?
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
Объявление теста async не помогает?
Нет...

Есть подобное issue, но автозакрыта
https://github.com/nestjs/nest/issues/1538
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Тоже по сокетам вопрос, хотя скорее к Jest. Как может быть так, что асинхронный тест проходит раньше, чем вызывается done?

UPD: я точно знаю, что на сервере AUTHORIZED вызван позже...
Вообще выглядит конечно странно, должен висеть на таймауте до вызова done
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Возможно да, это проблема вывода jest
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
ILshat Khamitov
Скорее всего все норм потоки просто по разному пишут в оутпут
^^^
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
Вообще выглядит конечно странно, должен висеть на таймауте до вызова done
Вообще, он как бы реально тестирует. Т.е. если из сервера убрать эмит авторизации, то тест упадёт.

Проблема только с сокетами такая.
afterAll app.close() делаю.
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Вот в таком варианте тоже самое.
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
Возможно да, это проблема вывода jest
Jest возвращает
Jest did not exit one second after the test run has completed.

This usually means that there are asynchronous operations that weren't stopped in your tests.


И не завершает процесс, приходится добавлять —forceExit.

И это создаёт проблему, потому что он действительно в последовательности тестов запускает следующий раньше, чем предыдущий закончил все действия...
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
(запускаю в --runInBand)
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Видимо, по этой же причине я не могу запускать тестирование Gateway через IntelliJ
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Сделал минимальный репозиторий, чтобы повторить ошибку, а в нём всё работает нормально...
источник

MY

Michael Yali in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Сделал минимальный репозиторий, чтобы повторить ошибку, а в нём всё работает нормально...
источник