public void OnCollision(string senderId, CollisionPayload payload) { if (!players.ContainsKey(payload.AlphaId)) { return; } if (!players.ContainsKey(payload.BravoId)) { return; } var alphaPlayer = players[payload.AlphaId]; var bravoPlayer = players[payload.BravoId]; if (alphaPlayer.Score == bravoPlayer.Score) { return; } var loser = alphaPlayer.Score < bravoPlayer.Score ? alphaPlayer : bravoPlayer; lock (players) { players.Remove(loser.Uid); } var deletePlayerRpc = new DeletePlayer(new DeletePlayerPayload(loser.Uid)); var deletePlayerJson = JsonConvert.SerializeObject(deletePlayerRpc); broadcast(deletePlayerJson); }
public void Should_throw_exception_if_player_not_found() { var cmd = new DeletePlayer { PlayerId = 23 }; Assert.That(() => Repository.Execute(cmd), Throws.TypeOf <DomainException>().With.Message.EqualTo("Player with ID 23 was not found")); }
public void Ctor_ShouldReturnInstanceOfClass_WhenDependenciesAreValid() { Mock <ILogger <DeletePlayer> > mockLogger = new Mock <ILogger <DeletePlayer> >(); Mock <ISkillRequestValidator> mockSkillRequestValidator = new Mock <ISkillRequestValidator>(); DeletePlayer sut = new DeletePlayer(mockLogger.Object, mockSkillRequestValidator.Object); Assert.IsType <DeletePlayer>(sut); }
public void Handle_ShouldReturnSkillResponse_WhenCalled() { Mock <ILogger <DeletePlayer> > mockLogger = new Mock <ILogger <DeletePlayer> >(); Mock <ISkillRequestValidator> mockSkillRequestValidator = new Mock <ISkillRequestValidator>(); mockSkillRequestValidator.Setup(x => x.IsValid(It.IsAny <SkillRequest>())).Returns(true); DeletePlayer sut = new DeletePlayer(mockLogger.Object, mockSkillRequestValidator.Object); Assert.IsType <DeletePlayer>(sut); }
/// <summary> /// Apaga jogador da base de dados /// </summary> /// <param name="id">Código para apagar jogador</param> /// <param name="dp">Dados do jogador a ser apagado</param> /// <returns> Mensagem com OK ou descrição do erro </returns> // DELETE: api/UpdScores/5 public HttpResponseMessage Delete(int id, [FromBody] DeletePlayer dp) { string DBResponse = "OI"; if (id != 42) //Just an easy check, if you don't know why 42, I do not want to work with you :-) { DBResponse = "DELETE inválido."; return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, DBResponse)); } if (dp == null) { DBResponse = "Formato de dados inválido. Verifique a documentação."; return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, DBResponse)); } if ((dp.CallerID == null) || (dp.CallerPW == null) || (dp.Nickname == null) || (dp.Password == null) || (dp.DeleteID == null) || (dp.DeletePW == null)) { DBResponse = "Estão faltando dados. Verifique a documentação."; return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, DBResponse)); } if ((dp.Nickname.Length == 0) || (dp.Password.Length == 0)) { DBResponse = "Dados inválidos, Nick e senha não podem estar vazios"; return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, DBResponse)); } //Para o delete tem um ID/Senha adicional //Inicialmente as variáveis de ambiente estão setadas para JMF, JMF, DJMF e DJMF string CallerPW = Environment.GetEnvironmentVariable("CPW"); string CallerID = Environment.GetEnvironmentVariable("CID"); string DeletePW = Environment.GetEnvironmentVariable("DPW"); string DeleteID = Environment.GetEnvironmentVariable("DID"); if ((!dp.CallerID.Equals(CallerID)) || (!dp.CallerPW.Equals(CallerPW)) || (!dp.DeleteID.Equals(DeleteID)) || (!dp.DeletePW.Equals(DeletePW))) { DBResponse = "Credenciais inválidas, você não pode apagar o jogador"; return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, DBResponse)); } DBResponse = Database.UpdateDB.DeletePlayer(dp.Nickname, dp.Password); if (DBResponse.Equals("OK")) { dp.CallerID = ""; dp.CallerPW = ""; dp.Password = ""; dp.DeleteID = ""; dp.DeletePW = ""; HttpResponseMessage response = Request.CreateResponse <DeletePlayer>(HttpStatusCode.Created, dp); string uri = Url.Link("DefaultApi", new { id = dp.Nickname }); response.Headers.Location = new Uri(uri); return(response); } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, DBResponse)); }
public void Handle_ShouldThrowArgumentNullException_WhenTokenUserIsNull() { Mock <ILogger <DeletePlayer> > mockLogger = new Mock <ILogger <DeletePlayer> >(); Mock <ISkillRequestValidator> mockSkillRequestValidator = new Mock <ISkillRequestValidator>(); mockSkillRequestValidator.Setup(x => x.IsValid(It.IsAny <SkillRequest>())).Returns(true); DeletePlayer sut = new DeletePlayer(mockLogger.Object, mockSkillRequestValidator.Object); SkillRequest skillRequest = new SkillRequest(); Assert.Throws <ArgumentNullException>(() => sut.Handle(skillRequest, null)); }
public async Task DeletePlayerShouldDeleteDbEntity() { var command = new DeletePlayer() { Id = _testDbFixture.MockedDataInstance.PlayerInternalIdForDelete }; var creationTask = await _rabbitMqFixture.SubscribeAndGetAsync <PlayerDeleted>( _testDbFixture.CheckIfPlayerExists, _testDbFixture.MockedDataInstance.PlayerInternalIdForDelete); await _rabbitMqFixture.PublishAsync(command); bool result = await creationTask.Task; result.Should().BeFalse(); }
public void Handle_ShouldReturnSkillResponse_WhenCalledWithValidInputs() { Mock <ILogger <DeletePlayer> > mockLogger = new Mock <ILogger <DeletePlayer> >(); Mock <ISkillRequestValidator> mockSkillRequestValidator = new Mock <ISkillRequestValidator>(); mockSkillRequestValidator.Setup(x => x.IsValid(It.IsAny <SkillRequest>())).Returns(true); DeletePlayer sut = new DeletePlayer(mockLogger.Object, mockSkillRequestValidator.Object); SkillRequest skillRequest = GenerateValidSkillRequest(new IntentRequest() { RequestId = "TestRequestId", Locale = "en-US", Type = "IntentRequest", Intent = new Intent() { ConfirmationStatus = "CONFIRMED", Name = "DeletePlayer", Slots = new Dictionary <string, Slot>() { { "player", new Slot() { Name = "player", Value = "blue", ConfirmationStatus = "NONE" } } } } }); TokenUser tokenUser = new TokenUser() { Players = new List <Player>() }; SkillResponse skillResponse = sut.Handle(skillRequest, tokenUser); Assert.IsType <SkillResponse>(skillResponse); }
public void Handle_ShouldThrowArgumentNullException_WhenCalledWithInvalidSkillRequest() { Mock <ILogger <DeletePlayer> > mockLogger = new Mock <ILogger <DeletePlayer> >(); Mock <ISkillRequestValidator> mockSkillRequestValidator = new Mock <ISkillRequestValidator>(); mockSkillRequestValidator.Setup(x => x.IsValid(It.IsAny <SkillRequest>())).Returns(false); DeletePlayer sut = new DeletePlayer(mockLogger.Object, mockSkillRequestValidator.Object); TokenUser tokenUser = new TokenUser() { Players = new List <Player>() }; SkillRequest skillRequest = new SkillRequest(); Assert.Throws <ArgumentNullException>(() => sut.Handle(skillRequest, tokenUser)); }
public async Task <IActionResult> Delete([FromBody] DeletePlayer command) { return(await SendAsync(command)); }