public ICommandResult Handle(AvailableServerCommand command) { command.Validate(); if (command.IsInvalid) { return(new DefaultCommandResult(CommandResultStatus.InvalidCommand, command.Notifications)); } try { var server = _serverRepository.GetById(command.ServerId); if (server == null) { return(new DefaultCommandResult(CommandResultStatus.InvalidData, "Nenhum servidor foi localizado")); } if (server.ResponseInIPAndPort(command.Ip, command.Port)) { return(new DefaultCommandResult(CommandResultStatus.Success, "Servidor online")); } return(new DefaultCommandResult(CommandResultStatus.InvalidData, "Servidor offiline")); } catch (Exception e) { Console.WriteLine($"Fail to execute AvailableServerHandler. Fail stack ===> {e.ToString()}"); return(new DefaultCommandResult(CommandResultStatus.Exception)); } }
public void Should_Be_Exception_Fail() { _serverHandler = new ServerHandler(new FakeExectionServerRepository()); var command = new AvailableServerCommand(Guid.NewGuid(), "10.1.1.1", 8080); var handlerResponse = (DefaultCommandResult)_serverHandler.Handle(command); Assert.True(handlerResponse.IsException); }
public void Given_A_Valid_Command_With_Existless_Server_Id_Should_Be_Return_A_Invalid_Data_Status() { _serverHandler = new ServerHandler(new FakeServerRepository(_dataContextMock)); var commandForOnlineServer = new AvailableServerCommand(Guid.NewGuid(), "10.1.1.1", 8080); var handlerResponse = (DefaultCommandResult)_serverHandler.Handle(commandForOnlineServer); Assert.True(handlerResponse.IsInvalidData); }
public void Given_A_Invalid_Command_Should_Be_Return_A_Invalid_Command_Status() { _serverHandler = new ServerHandler(new FakeServerRepository(_dataContextMock)); var invalidCommand = new AvailableServerCommand(new Guid(), "", 0); var handlerResponse = (DefaultCommandResult)_serverHandler.Handle(invalidCommand); Assert.True(handlerResponse.IsInvalidCommand); }
public void Should_Be_Return_A_Offline_Server() { _serverHandler = new ServerHandler(new FakeServerRepository(_dataContextMock)); var serverMock = _dataContextMock.Servers.FirstOrDefault(); var commandForOfflineServer = new AvailableServerCommand(serverMock.Id, "xxxx", 99999); var handlerResponse = (DefaultCommandResult)_serverHandler.Handle(commandForOfflineServer); Assert.True(handlerResponse.IsInvalidData); }
public void Should_Be_Return_A_Online_Server() { _serverHandler = new ServerHandler(new FakeServerRepository(_dataContextMock)); var serverMock = _dataContextMock.Servers.FirstOrDefault(); var commandForOnlineServer = new AvailableServerCommand(serverMock.Id, serverMock.Ip, serverMock.Port); var handlerResponse = (DefaultCommandResult)_serverHandler.Handle(commandForOnlineServer); Assert.True(handlerResponse.IsSuccess); }
/// <summary> /// Creates a message by type. /// </summary> public override PiranhaMessage CreateMessageByType(int type) { PiranhaMessage message = null; if (type < 20000) { switch (type) { case 10100: { message = new ClientHelloMessage(); break; } case 10101: { message = new LoginMessage(); break; } case 10108: { message = new KeepAliveMessage(); break; } case 10113: { message = new SetDeviceTokenMessage(); break; } case 10116: { message = new ResetAccountMessage(); break; } case 10117: { message = new ReportUserMessage(); break; } case 10118: { message = new AccountSwitchedMessage(); break; } case 10150: { message = new AppleBillingRequestMessage(); break; } case 10212: { message = new ChangeAvatarNameMessage(); break; } case 14101: { message = new GoHomeMessage(); break; } case 14102: { message = new EndClientTurnMessage(); break; } case 14134: { message = new AttackNpcMessage(); break; } case 14262: { message = new BindGoogleServiceAccountMessage(); break; } case 14325: { message = new AskForAvatarProfileMessage(); break; } case 14715: { message = new SendGlobalChatLineMessage(); break; } } } else { switch (type) { case 20000: { message = new ExtendedSetEncryptionMessage(); break; } case 20100: { message = new ServerHelloMessage(); break; } case 20103: { message = new LoginFailedMessage(); break; } case 20104: { message = new LoginOkMessage(); break; } case 20108: { message = new KeepAliveServerMessage(); break; } case 20117: { message = new ReportUserStatusMessage(); break; } case 20151: { message = new AppleBillingProcessedByServerMessage(); break; } case 20161: { message = new ShutdownStartedMessage(); break; } case 20171: { message = new PersonalBreakStartedMessage(); break; } case 20261: { message = new GoogleServiceAccountBoundMessage(); break; } case 20262: { message = new GoogleServiceAccountAlreadyBoundMessage(); break; } case 24101: { message = new OwnHomeDataMessage(); break; } case 24104: { message = new OutOfSyncMessage(); break; } case 24111: { message = new AvailableServerCommand(); break; } case 24112: { message = new WaitingToGoHomeMessage(); break; } case 24115: { message = new ServerErrorMessage(); break; } case 24133: { message = new NpcDataMessage(); break; } case 24334: { message = new AvatarProfileMessage(); break; } case 24411: { message = new AvatarStreamMessage(); break; } case 24715: { message = new GlobalChatLineMessage(); break; } } } return(message); }
public IActionResult Delete([FromServices] ServerHandler handler, [FromRoute] Guid serverId, [FromBody] AvailableServerCommand command) { command.ServerId = serverId; var response = (DefaultCommandResult)handler.Handle(command); return(this.DefaultCommandResultToActionResult(response)); }