public void RnProcessarEventosProcessarMensagemInicioEdicaoTarefaTest() { bool mensagemRecebida = false; TcpAdapterPool pool = new TcpAdapterPool(); WexMultiAccessClientMock cliente = new WexMultiAccessClientMock() { TcpAdapterStubAtivo = true }; #region Preenchendo informações do cliente cliente.EnderecoIp = ipServidor; cliente.OidCronograma = "C1"; cliente.Porta = porta; cliente.Login = "******"; cliente.Conectar(); pool.AceitarConexao(cliente); cliente.AoServidorDesconectar += (mensagemDto) => { }; #endregion WexMultiAccessClientMock cliente2 = new WexMultiAccessClientMock() { TcpAdapterStubAtivo = true }; #region Preenchendo informações cliente2 cliente2.EnderecoIp = ipServidor; cliente2.OidCronograma = "C1"; cliente2.Porta = porta; cliente2.Login = "******"; cliente2.Conectar(); pool.AceitarConexao(cliente2); cliente2.AoServidorDesconectar += (mensagemDto) => { }; cliente2.AoIniciarEdicaoTarefa += (mensagemDto) => { if (mensagemDto != null && mensagemDto.Tipo.Equals(CsTipoMensagem.InicioEdicaoTarefa)) { mensagemRecebida = true; } }; #endregion cliente.RnComunicarInicioEdicaoTarefa("T1"); ControleDeEsperaUtil.AguardarAte(() => { return(mensagemRecebida); }); //Criando uma réplica do que deverá ser recebido pelo cliente2 MensagemDto objetoMensagemEsperado = Mensagem.RnCriarMensagemInicioEdicaoTarefa("T1", cliente.Login, "C1"); objetoMensagemEsperado.Propriedades.Add(Constantes.LOGIN_WEX_CLIENT, cliente2.Login); MensagemDto objetoMensagem = cliente2.MensagensRecebidas.FirstOrDefault(o => o.Tipo.Equals(CsTipoMensagem.InicioEdicaoTarefa)); Assert.IsNotNull(objetoMensagem, string.Format("{0} deveria ser avisado que uma tarefa entrou em edição.", cliente2.Login)); CollectionAssert.AreEquivalent(objetoMensagemEsperado.Propriedades, objetoMensagem.Propriedades, "Deveria ter recebido as informações esperadas."); cliente.RnDesconectar(); }
public void RnComunicarInicioEdicaoTarefaTest() { bool foiInformado = false; WexMultiAccessClientMock cliente = new WexMultiAccessClientMock() { TcpAdapterStubAtivo = true }; TcpAdapterPool pool = new TcpAdapterPool(); cliente.EnderecoIp = ipServidor; cliente.OidCronograma = "C1"; cliente.Porta = porta; cliente.Login = "******"; cliente.Conectar(); pool.AceitarConexao(cliente); cliente.AoServidorDesconectar += (mensagemDto) => { }; WexMultiAccessClientMock cliente2 = new WexMultiAccessClientMock() { TcpAdapterStubAtivo = true }; cliente2.EnderecoIp = ipServidor; cliente2.OidCronograma = "C1"; cliente2.Porta = porta; cliente2.Login = "******"; cliente2.Conectar(); pool.AceitarConexao(cliente2); cliente2.AoServidorDesconectar += (mensagemDto) => { }; cliente2.AoIniciarEdicaoTarefa += (mensagemDto) => { if (mensagemDto != null && mensagemDto.Tipo.Equals(CsTipoMensagem.InicioEdicaoTarefa)) { foiInformado = true; } }; cliente.RnComunicarInicioEdicaoTarefa("T1"); ControleDeEsperaUtil.AguardarAte(() => { return(foiInformado); }); //Recebendo a mensagem de que iniciou edição de uma tarefa MensagemDto objetoMensagemEsperado = Mensagem.RnCriarMensagemInicioEdicaoTarefa("T1", cliente.Login, "C1"); objetoMensagemEsperado.Propriedades.Add(Constantes.LOGIN_WEX_CLIENT, cliente2.Login); MensagemDto objetoMensagem = cliente2.MensagensRecebidas.FirstOrDefault(o => o.Tipo.Equals(CsTipoMensagem.InicioEdicaoTarefa)); Assert.IsNotNull(objetoMensagem, "Deveria ter recebido a mensagem esperada"); CollectionAssert.AreEquivalent(objetoMensagemEsperado.Propriedades, objetoMensagem.Propriedades); cliente.RnDesconectar(); }