Beispiel #1
0
        public void GetHelloFromBot_Returns_Not_Empty_String()
        {
            TelegramReminderReceiver reminderReceiver = new TelegramReminderReceiver(_token);

            string description = reminderReceiver.GetHelloFromBot();

            Assert.IsNotNull(description);
        }
        static void Main(string[] args)
        {
            // read configuration

            IConfiguration config = new ConfigurationBuilder()
                                    .AddJsonFile("appsettings.json", true, true)
                                    .Build();

            var storageWebApiUrl         = config["storageWebApiUrl"];
            var telegramBotApiToken      = config["telegramBot.ApiToken"];
            var telegramBotUseProxy      = bool.Parse(config["telegramBot.UseProxy"]);
            var telegramBotProxyHost     = config["telegramBot.Proxy.Host"];
            var telegramBotProxyPort     = int.Parse(config["telegramBot.Proxy.Port"]);
            var telegramBotProxyLogin    = config["telegramBot.Proxy.Login"];
            var telegramBotProxyPassword = config["telegramBot.Proxy.Password"];

            // create objects for DI
            var reminderStorage = new ReminderStorageWebApiClient(storageWebApiUrl);

            IWebProxy telegramProxy = null;

            if (telegramBotUseProxy)
            {
                telegramProxy = new HttpToSocks5Proxy(
                    telegramBotProxyHost,
                    telegramBotProxyPort,
                    telegramBotProxyLogin,
                    telegramBotProxyPassword);
            }

            var reminderReceiver = new TelegramReminderReceiver(telegramBotApiToken, telegramProxy);
            var reminderSender   = new TelegramReminderSender(telegramBotApiToken, telegramProxy);

            // create and setup domain logic object

            var reminderDomain = new ReminderDomain(
                reminderStorage,
                reminderReceiver,
                reminderSender);

            reminderDomain.AddingSuccedded += ReminderDomain_AddingSuccedded;
            reminderDomain.SendingSucceded += ReminderDomain_SendingSucceded;
            reminderDomain.SendingFailed   += ReminderDomain_SendingFailed;

            // run

            reminderDomain.Run();

            string hello = reminderReceiver.GetHelloFromBot();

            Console.WriteLine(
                $"Reminder application is running...\n" +
                $"{hello}\n" +
                "Press [Enter] to shutdown.");

            Console.ReadLine();
        }
Beispiel #3
0
        public void GetHelloFromBot_With_Proxy_Returns_Not_Empty_String()
        {
            // use proxy if needed
            IWebProxy proxy =
                new HttpToSocks5Proxy("proxy.golyakov.net", 1080);

            TelegramReminderReceiver reminderReceiver =
                new TelegramReminderReceiver(_token, proxy);

            string description = reminderReceiver.GetHelloFromBot();

            Assert.IsNotNull(description);
        }