public void PermissionsPolicy_Build_WhenNoValues_Returns() { var builder = new PermissionsPolicyBuilder(); var result = builder.Build(); result.Should().BeNullOrEmpty(); }
/// <summary> /// Configure a permission policy. /// </summary> /// <param name="configure">Configure the Permissions-Policy header</param> /// <returns>The complete Permissions-Policy header</returns> public static PermissionsPolicyHeader Build(Action <PermissionsPolicyBuilder> configure) { var builder = new PermissionsPolicyBuilder(); configure(builder); return(new PermissionsPolicyHeader(builder.Build())); }
public void PermissionsPolicy_Build_AddAccelerometer_WhenIncludesAllAndNone_ThrowsInvalidOperationException() { var builder = new PermissionsPolicyBuilder(); builder.AddAccelerometer() .None() .All(); Assert.Throws <InvalidOperationException>(() => builder.Build()); }
public void PermissionsPolicy_Build_AddFLoC_Calculation_WhenIncludesNone_OnlyWritesNone() { var builder = new PermissionsPolicyBuilder(); builder.AddFederatedLearningOfCohortsCalculation() .None(); var result = builder.Build(); result.Should().Be("interest-cohort=()"); }
public void PermissionsPolicy_Build_AddSelfOnly_ReturnsOnlySelf() { var builder = new PermissionsPolicyBuilder(); builder.AddAccelerometer() .Self(); var result = builder.Build(); result.Should().Be("accelerometer=self"); }
public void PermissionsPolicy_Build_AddingTheSameDirectiveTwice_OverwritesThePreviousCopy() { var builder = new PermissionsPolicyBuilder(); builder.AddAccelerometer().Self(); builder.AddAccelerometer().None(); var result = builder.Build(); result.Should().Be("accelerometer=()"); }
public void PermissionsPolicy_Build_CustomPermissionsPolicyBuilder_AddsValues() { var builder = new PermissionsPolicyBuilder(); builder.AddCustomFeature("push").None(); builder.AddCustomFeature("vibrate").All(); var result = builder.Build(); result.Should().Be("push=(), vibrate=*"); }
public void PermissionsPolicy_Build_AddAccelerometer_WhenAddsMultipleValue_ReturnsAllValues() { var builder = new PermissionsPolicyBuilder(); builder.AddAccelerometer() .Self() .For("http://testUrl.com").For("https://testUrl2.se"); var result = builder.Build(); result.Should().Be("accelerometer=(self \"http://testUrl.com\" \"https://testUrl2.se\")"); }
public void PermissionsPolicy_Build_CustomPermissionsPolicyDirective_AddsValues() { var builder = new PermissionsPolicyBuilder(); builder.AddCustomFeature("push", string.Empty); builder.AddCustomFeature("vibrate", "*"); builder.AddCustomFeature("something-else", string.Empty); var result = builder.Build(); result.Should().Be("push=(), vibrate=*, something-else=()"); }
public void PermissionsBuild_AddAccelerometer_WhenIncludesAll_OnlyWritesAll() { var builder = new PermissionsPolicyBuilder(); builder.AddAccelerometer() .Self() .For("http://testUrl.com") .All(); var result = builder.Build(); result.Should().Be("accelerometer=*"); }
/// <summary> /// Configures a restricted permissions policy for web apps that don't need any /// </summary> /// <param name="builder"></param> /// <returns></returns> public static PermissionsPolicyBuilder AddDefaultPermissionsPolicy(this PermissionsPolicyBuilder builder) { builder.AddAccelerometer().None(); builder.AddAutoplay().None(); builder.AddCamera().None(); builder.AddEncryptedMedia().None(); builder.AddFullscreen().None(); builder.AddGeolocation().None(); builder.AddGyroscope().None(); builder.AddMagnetometer().None(); builder.AddMicrophone().None(); builder.AddMidi().None(); builder.AddPayment().None(); builder.AddPictureInPicture().None(); builder.AddSyncXHR().None(); builder.AddUsb().None(); builder.AddXR().None(); return(builder); }
/// <summary> /// This replaces the deprecated VR Feature /// </summary> /// <param name="builder"></param> /// <returns></returns> public static CustomPermissionsPolicyDirectiveBuilder AddXR(this PermissionsPolicyBuilder builder) => builder.AddCustomFeature("xr-spatial-tracking");