Ejemplo n.º 1
0
        public void PermissionsPolicy_Build_AddingTheSameDirectiveTwice_OverwritesThePreviousCopy()
        {
            var builder = new PermissionsPolicyBuilder();

            builder.AddAccelerometer().Self();
            builder.AddAccelerometer().None();

            var result = builder.Build();

            result.Should().Be("accelerometer=()");
        }
Ejemplo n.º 2
0
        public void PermissionsPolicy_Build_AddAccelerometer_WhenIncludesAllAndNone_ThrowsInvalidOperationException()
        {
            var builder = new PermissionsPolicyBuilder();

            builder.AddAccelerometer()
            .None()
            .All();

            Assert.Throws <InvalidOperationException>(() => builder.Build());
        }
Ejemplo n.º 3
0
        public void PermissionsPolicy_Build_AddSelfOnly_ReturnsOnlySelf()
        {
            var builder = new PermissionsPolicyBuilder();

            builder.AddAccelerometer()
            .Self();

            var result = builder.Build();

            result.Should().Be("accelerometer=self");
        }
Ejemplo n.º 4
0
        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\")");
        }
Ejemplo n.º 5
0
        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=*");
        }
Ejemplo n.º 6
0
    /// <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);
    }