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); }
/// <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; } }