Example #1
0
        public static void TelegramUpdateEventArgsHandler()
        {
            MockServer.AddNewRouter("/botToken/getUpdates", ResponseStringGetUpdatesResult.ExpectedBodyWithObjectMessage);

            bool wasCalled = false;

            EventHandler <TelegramUpdateEventArgs> telegramUpdateEventArgs = (s, e) =>
            {
                if (!wasCalled)
                {
                    wasCalled = true;
                }
            };

            mBotOkResponse.UpdatesReceived += telegramUpdateEventArgs;

            do
            {
                mBotOkResponse.StartCheckingUpdates();
            } while (!wasCalled);

            Assert.True(wasCalled);

            mBotOkResponse.StopCheckUpdates();
            mBotOkResponse.UpdatesReceived -= telegramUpdateEventArgs;
        }
Example #2
0
        public static void GetUpdatesWithTimeout()
        {
            MockServer.ServerOkResponse.ResetRequestLogs();

            MockServer.AddNewRouter("/botToken/getUpdates*", ResponseStringGetUpdatesResult.ExpectedBodyWithObjectMessage);

            mBotOkResponse.GetUpdates(timeout: 10);

            var request = MockServer.ServerOkResponse.SearchLogsFor(Requests.WithUrl("/botToken/getUpdates*").UsingPost());

            ConsoleUtlis.PrintResult(request);

            Assert.AreEqual("/botToken/getUpdates?timeout=10", request.FirstOrDefault()?.Url);
        }
Example #3
0
        private static void StartTest(string body)
        {
            MockServer.AddNewRouter("/botToken/getUpdates", body);

            mBotOkResponse.GetUpdates();
            var request = MockServer.ServerOkResponse.SearchLogsFor(Requests.WithUrl("/botToken/getUpdates").UsingPost());

            ConsoleUtlis.PrintResult(request);


            Assert.Multiple(() =>
            {
                Assert.AreEqual("/botToken/getUpdates", request.FirstOrDefault()?.Url);
                Assert.Throws <Exception>(() => mBotBadResponse.GetUpdates());
            });
        }
Example #4
0
        public static void GetUpdatesWithLimitTest()
        {
            MockServer.ServerOkResponse.ResetRequestLogs();

            MockServer.AddNewRouter("/botToken/getUpdates*", ResponseStringGetUpdatesResult.ExpectedBodyWithObjectMessage);

            mBotOkResponse.GetUpdates((byte)1);
            var request = MockServer.ServerOkResponse.SearchLogsFor(Requests.WithUrl("/botToken/getUpdates*").UsingPost());

            ConsoleUtlis.PrintResult(request);

            Assert.Multiple(() =>
            {
                Assert.AreEqual("/botToken/getUpdates?limit=1", request.FirstOrDefault()?.Url);
                Assert.Throws <Exception>(() => mBotBadResponse.GetUpdates());
            });
        }
Example #5
0
        public static void GetUpdatesWithAllowedUpdates()
        {
            MockServer.ServerOkResponse.ResetRequestLogs();

            MockServer.AddNewRouter("/botToken/getUpdates*", ResponseStringGetUpdatesResult.ExpectedBodyWithObjectMessage);

            AllowedUpdates[] allowedUpdateses =
            {
                AllowedUpdates.Message,
                AllowedUpdates.EditedMessage,
                AllowedUpdates.ChannelPost,
                AllowedUpdates.EditedChannelPost,
                AllowedUpdates.InlineQuery,
                AllowedUpdates.ChosenInlineResult,
                AllowedUpdates.CallbackQuery,
                AllowedUpdates.ShippingQuery,
                AllowedUpdates.PreCheckoutQuery
            };


            mBotOkResponse.GetUpdates(allowedUpdateses);

            var request = MockServer.ServerOkResponse.SearchLogsFor(Requests.WithUrl("/botToken/getUpdates*").UsingPost());

            ConsoleUtlis.PrintResult(request);

            Assert.Multiple(() =>
            {
                Assert.AreEqual("/botToken/getUpdates?" +
                                "allowed_updates=%5B%0D%0A%20%20%22message" +
                                "%22%2C%0D%0A%20%20%22edited_message" +
                                "%22%2C%0D%0A%20%20%22channel_post" +
                                "%22%2C%0D%0A%20%20%22edited_channel_post" +
                                "%22%2C%0D%0A%20%20%22inline_query" +
                                "%22%2C%0D%0A%20%20%22chosen_inline_result" +
                                "%22%2C%0D%0A%20%20%22callback_query" +
                                "%22%2C%0D%0A%20%20%22shipping_query" +
                                "%22%2C%0D%0A%20%20%22pre_checkout_query%22%0D%0A%5D", request.FirstOrDefault()?.Url);

                Assert.Throws <Exception>(() => mBotBadResponse.GetUpdates(allowedUpdates: allowedUpdateses));
            });
        }