public void GetClientsByNameNotNullTest()
        {
            //Arrange
            var mock = new Mock <ILogger <ServiceClientCollection> >();

            mock.Setup(m => m.Log <object>(It.IsAny <LogLevel>(), It.IsAny <EventId>(), It.IsAny <object>(), It.IsAny <Exception>(), It.IsAny <Func <object, Exception, string> >()))
            .Callback <LogLevel, EventId, object, Exception, Func <object, Exception, string> >((logLevel, eventId, obj, exception, func) =>
            {
                string msg = func.Invoke(obj, exception);
                Console.WriteLine(msg);
            });
            ServiceClientCollection serviceClients = new ServiceClientCollection(mock.Object)
            {
                new Models.ServiceClient {
                    Client = null, Name = "Service1", ServiceName = "Teste1"
                }
            };
            //Act
            var srv = serviceClients.GetClientsByName("Service1");

            //Assert
            Assert.IsNotNull(srv);
        }
示例#2
0
        /// <summary>
        /// Roteador de comandos recebidos
        /// </summary>
        /// <param name="comando">Comando recebido</param>
        /// <param name="sender">Cliente que enviou o comando</param>
        /// <exception cref="ArgumentException"></exception>
        /// <exception cref="ArgumentOutOfRangeException"></exception>
        /// <exception cref="ArgumentNullException"></exception>
        /// <exception cref="EncoderFallbackException"></exception>
        /// <exception cref="InvalidOperationException"></exception>
        /// <exception cref="ObjectDisposedException"></exception>
        /// <exception cref="System.IO.IOException"></exception>
        /// <exception cref="OutOfMemoryException"></exception>
        public void Distribution(ComandoModel comando, ServiceClient sender)
        {
            _logger.LogDebug($"comando [{comando.Comando}], parametros [{comando.Parametros}].");
            switch (comando.Comando.ToLower())
            {
            case "rg":
                _collection.UpdateName(sender, comando.Parametros);
                sender.SendData("Nome trocado com sucesso");
                break;

            case "sm":
                ComandoSMModel comandoSM   = ComandoSMModel.From(comando, sender, _collection.GetClientByName(comando.Parametros.Split(' ')[0]));
                SendMessage    sendMessage = new SendMessage(comandoSM);
                sendMessage.Send();
                break;

            case "ls":
                StringBuilder         sb   = new StringBuilder();
                IList <ServiceClient> list = string.IsNullOrWhiteSpace(comando.Parametros) ? _collection.GetAllClients() : _collection.GetClientsByName(comando.Parametros);
                foreach (var item in list)
                {
                    sb.AppendLine(item.Name);
                }
                sender.SendData(sb.ToString());
                break;

            case "set":
                string[] arr = comando.Parametros.Split(' ');
                _cacheService.Set(arr[0], string.Join(" ", arr, 1, arr.Length - 1));
                sender.SendData("Valor armezenado com sucesso.");
                break;

            case "get":
                var resp = _cacheService.Get(comando.Parametros);
                sender.SendData(resp.ToString());
                _logger.LogInformation($"Send [{resp.ToString()}] to [{sender.Name}].");
                break;

            default:
                sender.SendData($"Comando [{comando.Comando}] não identificado como um comando.");
                break;
            }
        }