Beispiel #1
0
        public BitPoker.Models.IResponse Post(BitPoker.Models.IRequest model)
        {
            BitPoker.Models.Messages.RPCResponse response = new BitPoker.Models.Messages.RPCResponse()
            {
                Id = model.Id
            };

            if (model.Method == "AddPlayer")
            {
                BitPoker.Models.Messages.AddPlayerRequest request = model.Params as BitPoker.Models.Messages.AddPlayerRequest;

                //need to include timestamp too
                Boolean valid = true; // base.Verify(request.BitcoinAddress, model.Id.ToString(), model.Signature);

                if (valid)
                {
                    _repo.Add(request.Player);
                    return(response);
                }
                else
                {
                    response.Error = "invalid siganture";
                    return(response);
                }
            }
            else
            {
                response.Error = "invalid method";
                return(response);
            }
        }
        public void Add_Player_To_InMemory_Repo()
        {
            BitPoker.Models.IRequest request = new BitPoker.Models.Messages.RPCRequest();
            BitPoker.Models.Messages.AddPlayerRequest message = new BitPoker.Models.Messages.AddPlayerRequest();
            message.BitcoinAddress = alice.ToString();
            message.Player         = new BitPoker.Models.TexasHoldemPlayer()
            {
                BitcoinAddress = alice.ToString(), IPAddress = "localhost"
            };

            //request.Signature = alice_secret.PrivateKey.SignMessage(request.Id.ToString());
            request.Params = message;
            MVC.Controllers.PlayersController controller = new BitPoker.MVC.Controllers.PlayersController();
            controller.Post(request);

            var players = controller.Get();

            Assert.IsNotNull(players);
        }