public void RateLimiterBlockIpRangeAttribute_Should_Return_403_For_Disallowed_IP()
        {
            var context = new HttpActionContext();

            context.ControllerContext            = controller.ControllerContext;
            context.ControllerContext.Controller = controller;
            var filter = new RateLimiterBlockIpRangeAttribute("127.0.0.0", "127.0.0.99");

            filter.OnActionExecuting(context);
        }
        public async Task RateLimiterBlockIpRangeAttribute_Should_Return_200_For_Allowed_IP()
        {
            var context = new HttpActionContext();

            context.ControllerContext            = controller.ControllerContext;
            context.ControllerContext.Controller = controller;
            var filter = new RateLimiterBlockIpRangeAttribute("127.0.0.20", "127.0.0.99");

            filter.OnActionExecuting(context);

            var response = await controller.GetFromBlockedEndpoint().ExecuteAsync(CancellationToken.None);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsFalse(string.IsNullOrWhiteSpace(response.Content.ReadAsStringAsync().Result));
        }