public void When_Area_Exist_Should_Return_Authorized_Controllers_And_Actions() { // Arrange var actionDescriptorCollectionProvider = _testServer.Services.GetService <IActionDescriptorCollectionProvider>(); var controllerDiscovery = new MvcControllerDiscovery(actionDescriptorCollectionProvider); // Act var controllers = controllerDiscovery.GetControllers(); var areaControllers = controllers.Where(c => c.Id.StartsWith("AuthorizedArea")); // Assert Assert.NotEmpty(areaControllers); Assert.Single(areaControllers); }
public void When_Controller_Decorated_With_Authorize_Attribute_Should_Return_All_Actions() { // Arrange var actionDescriptorCollectionProvider = _testServer.Services.GetService <IActionDescriptorCollectionProvider>(); var controllerDiscovery = new MvcControllerDiscovery(actionDescriptorCollectionProvider); // Act var controllers = controllerDiscovery.GetControllers(); var actionCount = controllers.SingleOrDefault(c => c.Id == ":Authorized")?.Actions?.Count(); // Assert Assert.NotEmpty(controllers); Assert.Equal(2, actionCount); }
public void When_Controller_Not_Decorated_With_Authorize_Attribute_Should_Return_Only_Authorized_Actions() { // Arrange var actionDescriptorCollectionProvider = _testServer.Services.GetService <IActionDescriptorCollectionProvider>(); var controllerDiscovery = new MvcControllerDiscovery(actionDescriptorCollectionProvider); // Act var controllers = controllerDiscovery.GetControllers(); var actions = controllers.SingleOrDefault(c => c.Id == ":ActionAuthorized")?.Actions; // Assert Assert.NotEmpty(controllers); Assert.NotNull(actions); Assert.Equal(1, actions.Count()); Assert.Equal(":ActionAuthorized:AuthorizedAction", actions.FirstOrDefault().Id); }