public void NothingElseCalled_SchemasReturned()
        {
            //Arrange
            FetchDirectiveBuilder builder = new FetchDirectiveBuilder();

            //Act
            builder.AllowSchemas("blob:");

            //Assert
            string result = builder.Build();

            Assert.Equal("blob:", result);
        }
        public void DuplicateSchemasAllowed_DuplicatesRemoved()
        {
            //Arrange
            FetchDirectiveBuilder builder = new FetchDirectiveBuilder();

            //Act
            builder.AllowSchemas("blob:", "blob:");

            //Assert
            string result = builder.Build();

            Assert.Equal("blob:", result);
        }
        public void SomethingElseCalled_SchemasIncluded()
        {
            //Arrange
            FetchDirectiveBuilder builder = new FetchDirectiveBuilder();

            //Act
            builder.AllowSelf();
            builder.AllowSchemas("blob:");

            //Assert
            string result = builder.Build();

            Assert.Equal("'self' blob:", result);
        }
        public void SchemasAllowed_SchemasIgnored()
        {
            //Arrange
            FetchDirectiveBuilder builder = new FetchDirectiveBuilder();

            //Act
            builder.AllowSchemas("blob:");
            builder.AllowAny();

            //Assert
            string result = builder.Build();

            Assert.Equal("*", result);
        }
Пример #5
0
        public void SomethingElseCalled_SelfIncluded()
        {
            //Arrange
            FetchDirectiveBuilder builder = new FetchDirectiveBuilder();

            //Act
            builder.AllowSelf();
            builder.AllowHosts("https://example1.com", "https://example2.com");
            builder.AllowSchemas("blob:");

            //Assert
            string result = builder.Build();

            Assert.Equal("'self' https://example1.com https://example2.com blob:", result);
        }
        public void SomethingElseCalled_OnlyNoneReturned()
        {
            //Arrange
            FetchDirectiveBuilder builder = new FetchDirectiveBuilder();

            //Act
            builder.AllowSelf();
            builder.AllowHosts("https://example1.com", "https://example2.com");
            builder.AllowNone();
            builder.AllowSchemas("blob:");
            builder.AllowAny();

            //Assert
            string result = builder.Build();

            Assert.Equal("'none'", result);
        }