public void BlockingAPlayerAfterSendingThemAFriendRequestRemovesTheFriendRequest() { authHelper.loginToAccount("userOne"); SendFriendRequestRequest request = new SendFriendRequestRequest() { FriendId = authHelper.getAccountId("userTwo") }; SendFriendRequestResponse response = client.SendFriendRequest(request); Assert.AreEqual(response.Status.IsSuccess, true); BlockPlayerRequest blockRequest = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; client.BlockPlayer(blockRequest); authHelper.loginToAccount("userTwo"); // Make sure the players are not friends. ViewFriendRequestsResponse blockFriendListResponse = client.ViewFriendRequests(new ViewFriendRequestsRequest()); Assert.AreEqual(blockFriendListResponse.Status.IsSuccess, true); Assert.AreEqual(0, blockFriendListResponse.IncomingFriends.Count); }
public void PlayerCanUnblockAPlayerAfterBlockingThem() { BlockPlayerRequest request = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; BlockPlayerResponse response = client.BlockPlayer(request); Assert.AreEqual(response.Status.IsSuccess, true); ViewBlockedPlayersResponse blockResponse = client.ViewBlockedPlayers(new ViewBlockedPlayersRequest()); Assert.AreEqual(blockResponse.Status.IsSuccess, true); Assert.AreEqual(1, blockResponse.BlockedUsers.Count); Assert.IsTrue(blockResponse.BlockedUsers.Any(it => it.Id == authHelper.getAccountId("userTwo"))); UnblockPlayerRequest unblockRequest = new UnblockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; UnblockPlayerResponse unblockResponse = client.UnblockPlayer(unblockRequest); Assert.AreEqual(unblockResponse.Status.IsSuccess, true); ViewBlockedPlayersResponse blockedUserResponse = client.ViewBlockedPlayers(new ViewBlockedPlayersRequest()); Assert.AreEqual(blockedUserResponse.Status.IsSuccess, true); Assert.AreEqual(0, blockedUserResponse.BlockedUsers.Count); }
public void PlayerCannotGetAFriendRequestFromABlockedPlayer() { authHelper.loginToAccount("userOne"); BlockPlayerRequest blockPlayerRequest = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; client.BlockPlayer(blockPlayerRequest); authHelper.loginToAccount("userTwo"); SendFriendRequestRequest request = new SendFriendRequestRequest() { FriendId = authHelper.getAccountId("userOne") }; var exception = client.SendFriendRequest(request); Assert.AreEqual(exception.Status.IsSuccess, false); Assert.AreEqual(exception.Status.Detail, ResponseType.PLAYER_IS_BLOCKED.ToString()); authHelper.loginToAccount("userOne"); var friendResponse = client.ViewFriendRequests(new ViewFriendRequestsRequest()); Assert.AreEqual(friendResponse.Status.IsSuccess, true); Assert.AreEqual(0, friendResponse.IncomingFriends.Count); }
public void PlayerCanBlockAnotherPlayer() { BlockPlayerRequest request = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; BlockPlayerResponse response = client.BlockPlayer(request); Assert.AreEqual(response.Status.IsSuccess, true); }
public void PlayerCannotBlockInvalidPlayerId() { BlockPlayerRequest request = new BlockPlayerRequest() { UserIdToBlock = "asdfasdfasdf" }; var response = client.BlockPlayer(request); Assert.AreEqual(response.Status.IsSuccess, false); Assert.AreEqual(response.Status.Detail, ResponseType.PLAYER_DOES_NOT_EXIST.ToString()); }
public void BlockingAPlayerRemovesThemAsAFriend() { authHelper.loginToAccount("userOne"); SendFriendRequestRequest request = new SendFriendRequestRequest() { FriendId = authHelper.getAccountId("userTwo") }; SendFriendRequestResponse response = client.SendFriendRequest(request); Assert.AreEqual(response.Status.IsSuccess, true); authHelper.loginToAccount("userTwo"); AcceptFriendRequestRequest friendRequest = new AcceptFriendRequestRequest() { FriendId = authHelper.getAccountId("userOne"), }; AcceptFriendRequestResponse acceptResponse = client.AcceptFriendRequest(friendRequest); Assert.AreEqual(acceptResponse.Status.IsSuccess, true); ViewFriendsResponse friendResponse = client.ViewFriends(new ViewFriendsRequest()); Assert.AreEqual(friendResponse.Status.IsSuccess, true); Assert.AreEqual(1, friendResponse.Friends.Count); Assert.IsTrue(friendResponse.Friends.Any((friend) => friend.Id == authHelper.getAccountId("userOne"))); BlockPlayerRequest blockRequest = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userOne") }; BlockPlayerResponse blockResponse = client.BlockPlayer(blockRequest); Assert.AreEqual(blockResponse.Status.IsSuccess, true); // Make sure the players are not friends. ViewFriendsResponse blockFriendListResponse = client.ViewFriends(new ViewFriendsRequest()); Assert.AreEqual(blockFriendListResponse.Status.IsSuccess, true); Assert.AreEqual(0, blockFriendListResponse.Friends.Count); authHelper.loginToAccount("userOne"); // Make sure the players are not friends. ViewFriendsResponse blockFriendListResponseUserOne = client.ViewFriends(new ViewFriendsRequest()); Assert.AreEqual(blockFriendListResponseUserOne.Status.IsSuccess, true); Assert.AreEqual(0, blockFriendListResponseUserOne.Friends.Count); }
public void PlayerCannotBlockTheSamePlayerTwice() { BlockPlayerRequest request = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; BlockPlayerResponse response = client.BlockPlayer(request); Assert.IsTrue(response != null); var errorResonse = client.BlockPlayer(request); Assert.AreEqual(errorResonse.Status.IsSuccess, false); Assert.AreEqual(errorResonse.Status.Detail, ResponseType.DUPLICATE.ToString()); }
public void AfterBlockingAPlayerTheyAppearOnTheBlockList() { BlockPlayerRequest request = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; BlockPlayerResponse response = client.BlockPlayer(request); Assert.AreEqual(response.Status.IsSuccess, true); ViewBlockedPlayersResponse blockResponse = client.ViewBlockedPlayers(new ViewBlockedPlayersRequest()); Assert.AreEqual(blockResponse.Status.IsSuccess, true); Assert.AreEqual(1, blockResponse.BlockedUsers.Count); Assert.IsTrue(blockResponse.BlockedUsers.Any(it => it.Id == authHelper.getAccountId("userTwo"))); }
public void PlayerCannotSendAFriendRequestToABlockedPlayer() { authHelper.loginToAccount("userOne"); BlockPlayerRequest blockPlayerRequest = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; client.BlockPlayer(blockPlayerRequest); SendFriendRequestRequest request = new SendFriendRequestRequest() { FriendId = authHelper.getAccountId("userTwo") }; var exception = client.SendFriendRequest(request); Assert.AreEqual(exception.Status.IsSuccess, false); Assert.AreEqual(exception.Status.Detail, ResponseType.PLAYER_IS_BLOCKED.ToString()); }
public override async Task <BlockPlayerResponse> BlockPlayer(BlockPlayerRequest request, ServerCallContext context) { DbUserModel dbUserModel = context.UserState["user"] as DbUserModel; if (dbUserModel == null) { return new BlockPlayerResponse() { Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED) } } ; DbUserModel friend = await DbUserModel.GetUserFromGuid(request.UserIdToBlock); if (friend == null) { return new BlockPlayerResponse() { Status = ResponseFactory.createResponse(ResponseType.PLAYER_DOES_NOT_EXIST) } } ; if (await dbUserModel.IsBlocked(friend)) { return new BlockPlayerResponse() { Status = ResponseFactory.createResponse(ResponseType.DUPLICATE) } } ; await dbUserModel.BlockUser(friend); return(new BlockPlayerResponse() { Status = ResponseFactory.createResponse(ResponseType.SUCCESS) }); }
public override void BlockPlayer(IRpcController controller, BlockPlayerRequest request, Action <BlockPlayerResponse> done) { ProtoOutputBuffer.Write(request.GetType(), request.ToString()); }
public override void BlockPlayer(IRpcController controller, BlockPlayerRequest request, Action<BlockPlayerResponse> done) { throw new NotImplementedException(); }
public override void BlockPlayer(IRpcController controller, BlockPlayerRequest request, Action<BlockPlayerResponse> done) { ProtoOutputBuffer.Write(request.GetType(), request.ToString()); }
public override void CallServerMethod(uint token, uint methodId, CodedInputStream stream) { switch (methodId) { case 1: { SubscribeRequest request = new SubscribeRequest(); request.MergeFrom(stream); SubscribeResponse response = new SubscribeResponse(); BattlenetRpcErrorCode status = HandleSubscribe(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.Subscribe(bgs.protocol.user_manager.v1.SubscribeRequest: {1}) returned bgs.protocol.user_manager.v1.SubscribeResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 10: { AddRecentPlayersRequest request = new AddRecentPlayersRequest(); request.MergeFrom(stream); AddRecentPlayersResponse response = new AddRecentPlayersResponse(); BattlenetRpcErrorCode status = HandleAddRecentPlayers(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.AddRecentPlayers(bgs.protocol.user_manager.v1.AddRecentPlayersRequest: {1}) returned bgs.protocol.user_manager.v1.AddRecentPlayersResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 11: { ClearRecentPlayersRequest request = new ClearRecentPlayersRequest(); request.MergeFrom(stream); ClearRecentPlayersResponse response = new ClearRecentPlayersResponse(); BattlenetRpcErrorCode status = HandleClearRecentPlayers(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.ClearRecentPlayers(bgs.protocol.user_manager.v1.ClearRecentPlayersRequest: {1}) returned bgs.protocol.user_manager.v1.ClearRecentPlayersResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 20: { BlockPlayerRequest request = new BlockPlayerRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleBlockPlayer(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.BlockPlayer(bgs.protocol.user_manager.v1.BlockPlayerRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 21: { UnblockPlayerRequest request = new UnblockPlayerRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleUnblockPlayer(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.UnblockPlayer(bgs.protocol.user_manager.v1.UnblockPlayerRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 40: { BlockPlayerRequest request = new BlockPlayerRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleBlockPlayerForSession(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.BlockPlayerForSession(bgs.protocol.user_manager.v1.BlockPlayerRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 50: { EntityId request = new EntityId(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleLoadBlockList(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.LoadBlockList(bgs.protocol.EntityId: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 51: { UnsubscribeRequest request = new UnsubscribeRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleUnsubscribe(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.Unsubscribe(bgs.protocol.user_manager.v1.UnsubscribeRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } default: Log.outError(LogFilter.ServiceProtobuf, "Bad method id {0}.", methodId); SendResponse(token, BattlenetRpcErrorCode.RpcInvalidMethod); break; } }
BattlenetRpcErrorCode HandleBlockPlayerForSession(BlockPlayerRequest request, NoData response) { Log.outError(LogFilter.ServiceProtobuf, "{0} Client tried to call not implemented method UserManagerService.BlockPlayerForSession: {1}", GetCallerInfo(), request.ToString()); return(BattlenetRpcErrorCode.RpcNotImplemented); }
public override void BlockPlayer(Google.ProtocolBuffers.IRpcController controller, BlockPlayerRequest request, Action <BlockPlayerResponse> done) { throw new NotImplementedException(); }