public void Should_clear_all_cache_strategies_for_policy() { var controllerName = NameHelper.Controller <AdminController>(); var policyContainers = new List <PolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers.Cast <IPolicyContainerConfiguration>().ToList()); conventionPolicyContainer.Cache <RequireAnyRolePolicy>(Cache.PerHttpRequest); conventionPolicyContainer.Cache <RequireAllRolesPolicy>(Cache.PerHttpRequest); // Act conventionPolicyContainer.ClearCacheStrategyFor <RequireAnyRolePolicy>(); // Assert var containers = policyContainers.ToList(); Assert.That(containers[0].CacheStrategies.Single().PolicyType, Is.EqualTo(typeof(RequireAllRolesPolicy))); Assert.That(containers[1].CacheStrategies.Single().PolicyType, Is.EqualTo(typeof(RequireAllRolesPolicy))); Assert.That(containers[2].CacheStrategies.Single().PolicyType, Is.EqualTo(typeof(RequireAllRolesPolicy))); }
public void Should_add_policyresult_cache_strategy_to_policycontainers() { // Arrange var controllerName = NameHelper.Controller <AdminController>(); var policyContainers = new List <PolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers.Cast <IPolicyContainerConfiguration>().ToList()); const Cache expectedLifecycle = Cache.PerHttpRequest; const By expectedLevel = By.ControllerAction; var expectedType = typeof(DenyAnonymousAccessPolicy); // Act conventionPolicyContainer.Cache <DenyAnonymousAccessPolicy>(expectedLifecycle, expectedLevel); // Assert var containers = policyContainers.ToList(); Assert.That(containers[0].CacheStrategies.Single().PolicyType, Is.EqualTo(expectedType)); Assert.That(containers[0].CacheStrategies.Single().CacheLifecycle, Is.EqualTo(expectedLifecycle)); Assert.That(containers[0].CacheStrategies.Single().CacheLevel, Is.EqualTo(expectedLevel)); Assert.That(containers[1].CacheStrategies.Single().PolicyType, Is.EqualTo(expectedType)); Assert.That(containers[1].CacheStrategies.Single().CacheLifecycle, Is.EqualTo(expectedLifecycle)); Assert.That(containers[1].CacheStrategies.Single().CacheLevel, Is.EqualTo(expectedLevel)); Assert.That(containers[2].CacheStrategies.Single().PolicyType, Is.EqualTo(expectedType)); Assert.That(containers[2].CacheStrategies.Single().CacheLifecycle, Is.EqualTo(expectedLifecycle)); Assert.That(containers[2].CacheStrategies.Single().CacheLevel, Is.EqualTo(expectedLevel)); }
public void SetUp() { // Arrange _policyContainers = new List <IPolicyContainer> { TestDataFactory.CreateValidPolicyContainer() }; _conventionPolicyContainer = new ConventionPolicyContainer(_policyContainers); }
public void Should_add_lazy_policy_to_policycontainers() { // Arrange var controllerName = NameHelper.Controller<AdminController>(); var policyContainers = new List<IPolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers); // Act conventionPolicyContainer.AddPolicy<DenyAnonymousAccessPolicy>(); // Assert Assert.That(policyContainers[0].GetPolicies().First(), Is.TypeOf<LazySecurityPolicy<DenyAnonymousAccessPolicy>>()); Assert.That(policyContainers[1].GetPolicies().First(), Is.TypeOf<LazySecurityPolicy<DenyAnonymousAccessPolicy>>()); Assert.That(policyContainers[2].GetPolicies().First(), Is.TypeOf<LazySecurityPolicy<DenyAnonymousAccessPolicy>>()); }
public void Should_add_policy_to_policycontainers() { // Arrange var policyContainers = new List<IPolicyContainer>() { TestDataFactory.CreateValidPolicyContainer("Admin", "Index"), TestDataFactory.CreateValidPolicyContainer("Admin", "ListPosts"), TestDataFactory.CreateValidPolicyContainer("Admin", "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers); var policy = new DenyAnonymousAccessPolicy(); // Act conventionPolicyContainer.AddPolicy(policy); // Assert Assert.That(policyContainers[0].GetPolicies().First(), Is.EqualTo(policy)); Assert.That(policyContainers[1].GetPolicies().First(), Is.EqualTo(policy)); Assert.That(policyContainers[2].GetPolicies().First(), Is.EqualTo(policy)); }
public void Should_add_lazy_policy_to_policycontainers() { // Arrange var controllerName = NameHelper.Controller <AdminController>(); var policyContainers = new List <PolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers.Cast <IPolicyContainerConfiguration>().ToList()); // Act conventionPolicyContainer.AddPolicy <DenyAnonymousAccessPolicy>(); // Assert Assert.That(policyContainers[0].GetPolicies().First(), Is.TypeOf <LazySecurityPolicy <DenyAnonymousAccessPolicy> >()); Assert.That(policyContainers[1].GetPolicies().First(), Is.TypeOf <LazySecurityPolicy <DenyAnonymousAccessPolicy> >()); Assert.That(policyContainers[2].GetPolicies().First(), Is.TypeOf <LazySecurityPolicy <DenyAnonymousAccessPolicy> >()); }
public void Should_add_policy_to_policycontainers() { // Arrange var controllerName = NameHelper.Controller<AdminController>(); var policyContainers = new List<PolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers.Cast<IPolicyContainerConfiguration>().ToList()); var policy = new DenyAnonymousAccessPolicy(); // Act conventionPolicyContainer.AddPolicy(policy); // Assert Assert.That(policyContainers[0].GetPolicies().First(), Is.EqualTo(policy)); Assert.That(policyContainers[1].GetPolicies().First(), Is.EqualTo(policy)); Assert.That(policyContainers[2].GetPolicies().First(), Is.EqualTo(policy)); }
public void Should_add_policy_to_policycontainers() { // Arrange var controllerName = NameHelper.Controller <AdminController>(); var policyContainers = new List <IPolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers); var policy = new DenyAnonymousAccessPolicy(); // Act conventionPolicyContainer.AddPolicy(policy); // Assert Assert.That(policyContainers[0].GetPolicies().First(), Is.EqualTo(policy)); Assert.That(policyContainers[1].GetPolicies().First(), Is.EqualTo(policy)); Assert.That(policyContainers[2].GetPolicies().First(), Is.EqualTo(policy)); }
public void Should_delegate_work_to_policycontainers() { // Arrange var policyContainer1 = new Mock <IPolicyContainerConfiguration>(); var policyContainer2 = new Mock <IPolicyContainerConfiguration>(); var policyContainer3 = new Mock <IPolicyContainerConfiguration>(); var policyContainers = new List <IPolicyContainerConfiguration> { policyContainer1.Object, policyContainer2.Object, policyContainer3.Object, }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers); // Act conventionPolicyContainer.RemovePolicy <SomePolicy>(); // Assert policyContainer1.Verify(x => x.RemovePolicy(It.IsAny <Func <SomePolicy, bool> >()), Times.Once()); policyContainer2.Verify(x => x.RemovePolicy(It.IsAny <Func <SomePolicy, bool> >()), Times.Once()); policyContainer3.Verify(x => x.RemovePolicy(It.IsAny <Func <SomePolicy, bool> >()), Times.Once()); }
public void Should_clear_all_cache_strategies() { var controllerName = NameHelper.Controller <AdminController>(); var policyContainers = new List <IPolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers); conventionPolicyContainer.Cache <RequireRolePolicy>(Cache.PerHttpRequest); // Act conventionPolicyContainer.ClearCacheStrategies(); // Assert var containers = policyContainers.Cast <PolicyContainer>().ToList(); Assert.That(containers[0].CacheStrategies.Any(), Is.False); Assert.That(containers[1].CacheStrategies.Any(), Is.False); Assert.That(containers[2].CacheStrategies.Any(), Is.False); }
public void Should_delegate_work_to_policycontainers() { // Arrange var policyContainer1 = new Mock<IPolicyContainer>(); var policyContainer2 = new Mock<IPolicyContainer>(); var policyContainer3 = new Mock<IPolicyContainer>(); var policyContainers = new List<IPolicyContainer>() { policyContainer1.Object, policyContainer2.Object, policyContainer3.Object, }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers); // Act conventionPolicyContainer.RemovePolicy<SomePolicy>(); // Assert policyContainer1.Verify(x => x.RemovePolicy(It.IsAny<Func<SomePolicy, bool>>()), Times.Once()); policyContainer2.Verify(x => x.RemovePolicy(It.IsAny<Func<SomePolicy, bool>>()), Times.Once()); policyContainer3.Verify(x => x.RemovePolicy(It.IsAny<Func<SomePolicy, bool>>()), Times.Once()); }
public void SetUp() { // Arrange _policyContainers = new List<IPolicyContainer> { TestDataFactory.CreateValidPolicyContainer() }; _conventionPolicyContainer = new ConventionPolicyContainer(_policyContainers); }
public void Should_clear_all_cache_strategies() { var controllerName = NameHelper.Controller<AdminController>(); var policyContainers = new List<IPolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers); conventionPolicyContainer.Cache<RequireRolePolicy>(Cache.PerHttpRequest); // Act conventionPolicyContainer.ClearCacheStrategies(); // Assert var containers = policyContainers.Cast<PolicyContainer>().ToList(); Assert.That(containers[0].CacheStrategies.Any(), Is.False); Assert.That(containers[1].CacheStrategies.Any(), Is.False); Assert.That(containers[2].CacheStrategies.Any(), Is.False); }
public void Should_add_policyresult_cache_strategy_to_policycontainers() { // Arrange var controllerName = NameHelper.Controller<AdminController>(); var policyContainers = new List<IPolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers, By.Controller); const Cache expectedLifecycle = Cache.PerHttpRequest; var expectedType = typeof(DenyAnonymousAccessPolicy); // Act conventionPolicyContainer.Cache<DenyAnonymousAccessPolicy>(expectedLifecycle); // Assert var containers = policyContainers.Cast<PolicyContainer>().ToList(); Assert.That(containers[0].CacheStrategies.Single().PolicyType, Is.EqualTo(expectedType)); Assert.That(containers[0].CacheStrategies.Single().CacheLifecycle, Is.EqualTo(expectedLifecycle)); Assert.That(containers[0].CacheStrategies.Single().CacheLevel, Is.EqualTo(By.Controller)); Assert.That(containers[1].CacheStrategies.Single().PolicyType, Is.EqualTo(expectedType)); Assert.That(containers[1].CacheStrategies.Single().CacheLifecycle, Is.EqualTo(expectedLifecycle)); Assert.That(containers[1].CacheStrategies.Single().CacheLevel, Is.EqualTo(By.Controller)); Assert.That(containers[2].CacheStrategies.Single().PolicyType, Is.EqualTo(expectedType)); Assert.That(containers[2].CacheStrategies.Single().CacheLifecycle, Is.EqualTo(expectedLifecycle)); Assert.That(containers[2].CacheStrategies.Single().CacheLevel, Is.EqualTo(By.Controller)); }
public void Should_clear_all_cache_strategies_for_policy() { var controllerName = NameHelper.Controller<AdminController>(); var policyContainers = new List<PolicyContainer> { TestDataFactory.CreateValidPolicyContainer(controllerName, "Index"), TestDataFactory.CreateValidPolicyContainer(controllerName, "ListPosts"), TestDataFactory.CreateValidPolicyContainer(controllerName, "AddPost") }; var conventionPolicyContainer = new ConventionPolicyContainer(policyContainers.Cast<IPolicyContainerConfiguration>().ToList()); conventionPolicyContainer.Cache<RequireAnyRolePolicy>(Cache.PerHttpRequest); conventionPolicyContainer.Cache<RequireAllRolesPolicy>(Cache.PerHttpRequest); // Act conventionPolicyContainer.ClearCacheStrategyFor<RequireAnyRolePolicy>(); // Assert var containers = policyContainers.ToList(); Assert.That(containers[0].CacheStrategies.Single().PolicyType, Is.EqualTo(typeof(RequireAllRolesPolicy))); Assert.That(containers[1].CacheStrategies.Single().PolicyType, Is.EqualTo(typeof(RequireAllRolesPolicy))); Assert.That(containers[2].CacheStrategies.Single().PolicyType, Is.EqualTo(typeof(RequireAllRolesPolicy))); }