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_AddAccelerometer_WhenIncludesAllAndNone_ThrowsInvalidOperationException() { var builder = new PermissionsPolicyBuilder(); builder.AddAccelerometer() .None() .All(); Assert.Throws <InvalidOperationException>(() => builder.Build()); }
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_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 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); }