public BotAPI(Proxy proxy = null) { Configs = BotManager.Core.Configs; Dialogs = BotManager.Core.Dialogs; Commands = BotManager.Core.Commands; ContextController = new UserInputContextController(); UiController = BotManager.Core.Repository.CreateUiDispatcher(ContextController); UsersController = BotManager.Core.Repository.CreateUserController(); DataParser = new DataParser(); // start telegram api initializing HttpClient httpClient = null; try { BotManager.Core?.LogController?.LogSystem(new DebugMessage($"Start initializing Telegram Bot Api...\r\nUse proxy: {Configs.UseProxy}")); if (Configs.UseProxy) { BotManager.Core?.LogController?.LogImportant(new DebugMessage($"Proxy enabled. Use proxy: <<xxx>>")); // init httpClient httpClient = new HttpClient(); BotManager.Core?.LogController?.LogImportant(new DebugMessage($"Proxy NOT IMPLEMENTED")); } Api = new TelegramBotClient(Configs.BotHash, httpClient); Api.OnMessage += Api_OnMessage; Api.OnCallbackQuery += Api_OnCallbackQuery; Api.OnInlineQuery += Api_OnInlineQuery; Api.OnReceiveError += Api_OnReceiveError; Api.OnReceiveGeneralError += Api_OnReceiveGeneralError; Api.OnUpdate += Api_OnUpdate; // here we get some useful bot info and at the same time // checks if connection established or not. BotManager.Core?.LogController?.LogImportant(new DebugMessage($"Conect Api client with bot token: <<{Configs.BotHash}>> ...")); System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); BotInfo = Api.GetMeAsync().Result; BotName = BotInfo.Username; ContextController.SetIgnored(BotInfo.Id); sw.Stop(); BotManager.Core?.LogController? .LogSucces(new DebugMessage($"Conection is cuccess (response time = {sw.Elapsed})\r\n--> Bot Api initialized and ready!")); } catch (Exception e) { BotManager.Core?.LogController?.LogCritical(new DebugMessage("Api initialization failed!", "BotApi()", e)); } finally { httpClient?.Dispose(); } }
public void Can_GetBaseUsers() { // Arrange Mock <IRepository> mockRepository = new Mock <IRepository>(); mockRepository.Setup(mRepo => mRepo.BaseUsers).Returns(new baseusers[] { new baseusers { Login = "******", Password = "******", ID = "d1f7908b-6967-42c2-be5d-b4f157168ac9" }, new baseusers { Login = "******", Password = "******", ID = "da9e2795-4818-4606-883f-8cf7d0a9c2fb" }, new baseusers { Login = "******", Password = "******", ID = "713e77ca-d526-49b1-8e34-8b71bc96bcd4" } }.AsQueryable()); // Create controller BaseUserController controller = new BaseUserController(mockRepository.Object); // Act var resultIndex = (IList <baseusers>)controller.Index().Model; var resultDetails = (baseusers)controller.Details("da9e2795-4818-4606-883f-8cf7d0a9c2fb").Model; // Assert Index Assert.AreEqual(resultIndex.Count, 3); Assert.AreEqual(resultIndex[0].Login, "Login"); Assert.AreEqual(resultIndex[2].ID, "713e77ca-d526-49b1-8e34-8b71bc96bcd4"); // Assert Details Assert.AreEqual(resultDetails.Login, "guest"); }