fix(GODT-2442): must publish loggedOut event.

This commit is contained in:
Jakub
2023-03-07 18:56:06 +01:00
parent b953468af2
commit 7fc907a874
2 changed files with 10 additions and 0 deletions

View File

@ -343,6 +343,11 @@ func (bridge *Bridge) SendBadEventUserFeedback(_ context.Context, userID string,
}
bridge.logoutUser(ctx, user, true, false)
bridge.publish(events.UserLoggedOut{
UserID: userID,
})
return nil
}, bridge.usersLock)
}

View File

@ -100,9 +100,14 @@ func TestBridge_User_BadMessage_BadEvent(t *testing.T) {
}))
t.Run("LogoutAndLogin", test_badMessage_badEvent(func(t *testing.T, ctx context.Context, bridge *bridge.Bridge, badUserID string) {
logoutCh, closeCh := chToType[events.Event, events.UserLoggedOut](bridge.GetEvents(events.UserLoggedOut{}))
// User feedback is logout
require.NoError(t, bridge.SendBadEventUserFeedback(ctx, badUserID, false))
require.Equal(t, badUserID, (<-logoutCh).UserID)
closeCh()
// The user will eventually be logged out due to the bad request errors.
require.Eventually(t, func() bool {
return len(bridge.GetUserIDs()) == 1 && len(getConnectedUserIDs(t, bridge)) == 0