fix(GODT-2442): must publish loggedOut event.
This commit is contained in:
@ -343,6 +343,11 @@ func (bridge *Bridge) SendBadEventUserFeedback(_ context.Context, userID string,
|
|||||||
}
|
}
|
||||||
|
|
||||||
bridge.logoutUser(ctx, user, true, false)
|
bridge.logoutUser(ctx, user, true, false)
|
||||||
|
|
||||||
|
bridge.publish(events.UserLoggedOut{
|
||||||
|
UserID: userID,
|
||||||
|
})
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}, bridge.usersLock)
|
}, bridge.usersLock)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) {
|
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
|
// User feedback is logout
|
||||||
require.NoError(t, bridge.SendBadEventUserFeedback(ctx, badUserID, false))
|
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.
|
// The user will eventually be logged out due to the bad request errors.
|
||||||
require.Eventually(t, func() bool {
|
require.Eventually(t, func() bool {
|
||||||
return len(bridge.GetUserIDs()) == 1 && len(getConnectedUserIDs(t, bridge)) == 0
|
return len(bridge.GetUserIDs()) == 1 && len(getConnectedUserIDs(t, bridge)) == 0
|
||||||
|
|||||||
Reference in New Issue
Block a user