public static void AssertHandlerHandlesScenarioSuccessfully <TEntity, TRequirement>( Func <ContentDbContext, IAuthorizationHandler> handlerSupplier, HandlerTestScenario <TEntity> scenario) where TRequirement : IAuthorizationRequirement { using (var context = DbUtils.InMemoryApplicationDbContext()) { var handler = handlerSupplier(context); AssertHandlerHandlesScenarioSuccessfully <TEntity, TRequirement>(handler, scenario); } }
public static async void AssertHandlerHandlesScenarioSuccessfully <TEntity, TRequirement>( IAuthorizationHandler handler, HandlerTestScenario <TEntity> scenario) where TRequirement : IAuthorizationRequirement { var authContext = new AuthorizationHandlerContext( new IAuthorizationRequirement[] { Activator.CreateInstance <TRequirement>() }, scenario.User, scenario.Entity); await handler.HandleAsync(authContext); if (scenario.ExpectedToPass) { Assert.True(authContext.HasSucceeded, scenario.UnexpectedFailMessage); } else { Assert.False(authContext.HasSucceeded, scenario.UnexpectedPassMessage); } }