diff --git a/services/real-time/app/coffee/ConnectedUsersManager.coffee b/services/real-time/app/coffee/ConnectedUsersManager.coffee index 085a47dc28..2e6536c9be 100644 --- a/services/real-time/app/coffee/ConnectedUsersManager.coffee +++ b/services/real-time/app/coffee/ConnectedUsersManager.coffee @@ -60,7 +60,7 @@ module.exports = _getConnectedUser: (project_id, client_id, callback)-> rclient.hgetall Keys.connectedUser({project_id, client_id}), (err, result)-> - if !result? or Object.keys(result).length == 0 + if !result? or Object.keys(result).length == 0 or !result.user_id result = connected : false client_id:client_id diff --git a/services/real-time/test/unit/coffee/ConnectedUsersManagerTests.coffee b/services/real-time/test/unit/coffee/ConnectedUsersManagerTests.coffee index e88b1f27ad..6fb3942b64 100644 --- a/services/real-time/test/unit/coffee/ConnectedUsersManagerTests.coffee +++ b/services/real-time/test/unit/coffee/ConnectedUsersManagerTests.coffee @@ -124,7 +124,7 @@ describe "ConnectedUsersManager", -> it "should return a connected user if there is a user object", (done)-> cursorData = JSON.stringify(cursorData:{row:1}) - @rClient.hgetall.callsArgWith(1, null, {connected_at:new Date(), cursorData}) + @rClient.hgetall.callsArgWith(1, null, {connected_at:new Date(), user_id: @user._id, last_updated_at: "#{Date.now()}", cursorData}) @ConnectedUsersManager._getConnectedUser @project_id, @client_id, (err, result)=> result.connected.should.equal true result.client_id.should.equal @client_id diff --git a/services/real-time/test/unit/coffee/WebsocketLoadBalancerTests.coffee b/services/real-time/test/unit/coffee/WebsocketLoadBalancerTests.coffee index c4f4519790..66e950cd0e 100644 --- a/services/real-time/test/unit/coffee/WebsocketLoadBalancerTests.coffee +++ b/services/real-time/test/unit/coffee/WebsocketLoadBalancerTests.coffee @@ -17,6 +17,7 @@ describe "WebsocketLoadBalancer", -> "./HealthCheckManager": {check: sinon.stub()} "./RoomManager" : @RoomManager = {eventSource: sinon.stub().returns @RoomEvents} "./ChannelManager": @ChannelManager = {publish: sinon.stub()} + "./ConnectedUsersManager": @ConnectedUsersManager = {refreshClient: sinon.stub()} @io = {} @WebsocketLoadBalancer.rclientPubList = [{publish: sinon.stub()}] @WebsocketLoadBalancer.rclientSubList = [{