public void Equality_compares_on_expected_properties() { //arrange var actionRule = Helper.ActionRule_withNoAttribute_Controller_hasAllowAnnonymous(); var ruleOne = new ValidationRuleActionInternal(actionRule.Action, actionRule.AttributeRequired); var ruleTwo = new ValidationRuleActionInternal(actionRule.Action, actionRule.AttributeRequired); //assert ruleOne.Equals(ruleTwo).Should().BeTrue(" we care about values and not identity"); }
public void ControllerName_uses_Fully_qualified_name() { //arrange var controllerInfo = new ControllerInfo(typeof(FakeControllers.Controller_with_no_attribute)); var actionName = nameof(FakeControllers.Controller_with_no_attribute.Action_with_no_attribute); var action = controllerInfo.ActionFirstOrDefault(actionName); //act var rule = new ValidationRuleActionInternal(action, new AuthorizeAttribute()); //assert var expectedFullName = controllerInfo.Controller.FullName; rule.ControllerName.Equals(expectedFullName).Should().BeTrue(" multiple controllers in assembly using the same name is supported; hence controller.FullName must be used"); }
public void CustomAuthorizeAttributesFromController_returns_attribute_from_controller() { //arrange var controllerInfo = new ControllerInfo(typeof(FakeControllers.Controller_with_Policy_RequireAdmin)); var actionName = nameof(FakeControllers.Controller_with_Policy_RequireAdmin.Action_with_Authorize_attribute); var action = controllerInfo.ActionFirstOrDefault(actionName); var expectedAttribute = new AuthorizeAttribute(PolicyNames.RequireAuthorizedAdmin); //act var rule = new ValidationRuleActionInternal(action, new AuthorizeAttribute()); //assert var actualAttribute = rule.CustomAuthorizeAttributesFromController().First(); actualAttribute.Should().BeEquivalentTo(expectedAttribute); }