public void SetCspSandboxOverride_NoCurrentOverride_ClonesConfigFromContextAndOverrides([Values(false, true)] bool reportOnly) { var contextConfig = new CspConfiguration(); var overrideConfig = new CspOverrideConfiguration(); //Returns CSP config from context _contextHelper.Setup(h => h.GetCspConfiguration(It.IsAny <HttpContextBase>(), reportOnly)).Returns(contextConfig); _contextHelper.Setup(h => h.GetCspConfigurationOverride(It.IsAny <HttpContextBase>(), reportOnly, false)).Returns(overrideConfig); //Returns cloned directive config from context config var clonedContextDirective = new CspSandboxDirectiveConfiguration(); _directiveConfigMapper.Setup(m => m.GetCspSandboxConfigCloned(contextConfig)).Returns(clonedContextDirective); //We need an override and a result. var directiveOverride = new CspSandboxOverride(); var directiveOverrideResult = new CspSandboxDirectiveConfiguration(); _directiveOverrideHelper.Setup(h => h.GetOverridenCspSandboxConfig(directiveOverride, clonedContextDirective)).Returns(directiveOverrideResult); CspConfigurationOverrideHelper.SetCspSandboxOverride(MockContext, directiveOverride, reportOnly); //Verify that the override result was set on the override config. Assert.AreSame(directiveOverrideResult, overrideConfig.SandboxDirective); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { _configurationOverrideHelper.SetCspSandboxOverride(filterContext.HttpContext, _directive, ReportOnly); base.OnActionExecuting(filterContext); }