public void Should_append_policy_source_plugin() { var getActionContext = new ActionConfigurationContext(null, null, ActionMethod.From <Handler>(x => x.Get()), null); var postActionContext = new ActionConfigurationContext(null, null, ActionMethod.From <Handler>(x => x.Post()), null); var overrideActionContext = new ActionConfigurationContext(null, null, ActionMethod.From <Handler>(x => x.Override()), null); var configuration = new CorsConfiguration(); CorsPolicySource.AppendPolicy(configuration.PolicySources, x => x .PreflightMaxAge(1)); CorsPolicySource.AppendPolicy(configuration.PolicySources, x => x .PreflightMaxAge(2) .AppliesWhen(a => a.ActionMethod.Name == "Get")); configuration.PolicySources.Count().ShouldEqual(2); var plugin = configuration.PolicySources.First(); plugin.AppliesTo(getActionContext).ShouldBeTrue(); plugin.AppliesTo(postActionContext).ShouldBeTrue(); plugin.AppliesTo(overrideActionContext).ShouldBeFalse(); plugin.Instance.CreatePolicy().PreflightMaxAge.ShouldEqual(1); plugin = configuration.PolicySources.Second(); plugin.AppliesTo(getActionContext).ShouldBeTrue(); plugin.AppliesTo(postActionContext).ShouldBeFalse(); plugin.AppliesTo(overrideActionContext).ShouldBeFalse(); plugin.Instance.CreatePolicy().PreflightMaxAge.ShouldEqual(2); }
private CorsPolicySource AppendPolicySource(Action <CorsPolicySource> configure = null) { var policySource = CorsPolicySource.AppendPolicy( _corsConfiguration.PolicySources, configure); _policySources.Add(policySource); return(policySource); }