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); }
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); }