private async Task AssertRequireHttps(bool useHttps, Type ctrlType, string actionName, ApiFilterRunResult expectedResult) { actionName = actionName.ToLower(); var ctrl = new Fakes.FakeLimitedControllerDiscoverer(ctrlType).GetControllers(null).Single(); var action = ctrl.Actions.Single(x => x.Name == actionName); var ctx = new Fakes.FakeHttpContext(); if (useHttps) { ctx.Request.IsHttps = true; } var result = await ActionInvoker.RunFiltersAndCheckIfShouldContinue(ctx, action); Assert.Equal(expectedResult.ShouldContinue, result.ShouldContinue); if (!expectedResult.ShouldContinue) { Assert.Equal(expectedResult.SetResponseCode, result.SetResponseCode); Assert.Equal(expectedResult.SetResponseMessage, result.SetResponseMessage); } }