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

            //Act
            builder.AllowHosts("https://example1.com", "https://example1.com");

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

            Assert.Equal("https://example1.com", result);
        }
        public void NothingElseCalled_HostsReturned()
        {
            //Arrange
            FetchDirectiveBuilder builder = new FetchDirectiveBuilder();

            //Act
            builder.AllowHosts("https://example1.com");

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

            Assert.Equal("https://example1.com", result);
        }
        public void SomethingElseCalled_HostsIncluded()
        {
            //Arrange
            FetchDirectiveBuilder builder = new FetchDirectiveBuilder();

            //Act
            builder.AllowSelf();
            builder.AllowHosts("https://example1.com");

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

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

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

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

            Assert.Equal("*", 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);
        }