public static void RegisterUrls(SecureUrlCollection secureUrls) { //Ignore defaults //secureUrls.IgnoreUrl(@"(.*)\.css"); //secureUrls.IgnoreUrl(@"(.*)\.js"); //secureUrls.IgnoreUrl(@"(.*)\.png"); //secureUrls.IgnoreUrl(@"(.*)\.jpg"); //secureUrls.IgnoreUrl(@"(.*)\.gif"); // Add urls here secureUrls.AddRegex( @"(.*)account", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline); //Secure Cart secureUrls.AddUrl("/cart"); //Custom rules SecurePagesConfiguration.RegisterCustomMatchRule( c => string.Equals( c.Request.Headers["X-Forwarded-Proto"], "https", StringComparison.InvariantCultureIgnoreCase)); #if DEBUG //For testing only SecurePagesConfiguration.IgnoreLocalRequests = false; SecurePagesConfiguration.HttpRootUrl = "http://localhost:50535/"; SecurePagesConfiguration.HttpsRootUrl = "https://localhost:44302/"; #endif }
public void Add_WithSecureUrlParam_ShouldThrowArgumentNullException_WhenPassedNull() { // Arrange var collection = new SecureUrlCollection(); // Act // Assert Assert.Throws<ArgumentNullException>(() => collection.Add(null)); }
static SecurePagesConfiguration() { SecureUrlCollection = new SecureUrlCollection(); IgnoreLocalRequests = true; HttpValue = "Http://"; HttpsValue = "Https://"; CustomMatchRuleCollection = new List<Func<HttpContextBase, bool>>(); }
public void AddRegex_ShouldThrowArgumentException_WhenPatternIsNullOrEmpty() { // Arrange var collection = new SecureUrlCollection(); // Act // Assert Assert.Throws<ArgumentException>(() => collection.AddRegex(null)); Assert.Throws<ArgumentException>(() => collection.AddRegex(string.Empty)); }
public void AddRegex_ShouldSetRegexOptionsToPassedRegexOptions() { // Arrange var collection = new SecureUrlCollection(); // Act collection.AddRegex(@"MockRegex", RegexOptions.IgnoreCase); SecureUrl secureUrl = collection.OfType<SecureUrl>().First(); // Assert Assert.Equal(RegexOptions.IgnoreCase, secureUrl.RegexOptions); }
public void AddRegex_ShouldSetDefaultRegexOptionsToNone_WhenNoRegexOptionsArePassed() { // Arrange var collection = new SecureUrlCollection(); // Act collection.AddRegex(@"MockRegex"); SecureUrl secureUrl = collection.OfType<SecureUrl>().First(); // Assert Assert.Equal(RegexOptions.None, secureUrl.RegexOptions); }
public void AddRegex_ShouldAddNewSecureUrlToCollection_WhenPassedValidParams() { // Arrange var collection = new SecureUrlCollection(); // Act collection.AddRegex(@"MockRegex"); // Assert Assert.NotEmpty(collection); Assert.Equal(1, collection.Count()); }
public void Add_WithSecureUrlParam_ShouldIncramentTotalByOne_WhenPassedValidSecureUrlInstance() { // Arrange var collection = new SecureUrlCollection(); var secureUrl = new SecureUrl(); // Act collection.Add(secureUrl); // Assert Assert.NotEmpty(collection); Assert.Equal(1, collection.Count()); }
public static void RegisterUrls(SecureUrlCollection secureUrls) { // Add urls here secureUrls.AddRegex(@"(.*)account", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline); //Secure Cart secureUrls.AddUrl("/cart"); //Custom rules SecurePagesConfiguration.RegisterCustomMatchRule(c => string.Equals(c.Request.Headers["X-Forwarded-Proto"], "https", StringComparison.InvariantCultureIgnoreCase)); //For testing only SecurePagesConfiguration.IgnoreLocalRequests = false; //For testing with a different domain // SecurePagesConfiguration.HttpValue = "http://localhost:63670/"; // SecurePagesConfiguration.HttpsValue = "https://localhost:44300/"; }
public void IgnoreUrl_ShouldThorwArgumentException_WhenPatternIsNullOrEmpty() { // arrange var collection = new SecureUrlCollection(); //act and assert Assert.Throws<ArgumentException>(() => collection.IgnoreUrl(string.Empty)); Assert.Throws<ArgumentException>(() => collection.IgnoreUrl(null)); }
public void SecureUrls_ShouldReturn1_WhenThereIs1SecureUrlTypeInCollection() { // arrange var collection = new SecureUrlCollection(); var ignoreUrlOne = new IgnoreUrl(); var ignoreUrlTwo = new IgnoreUrl(); var secureUrl = new SecureUrl(); // act collection.Add(ignoreUrlOne); collection.Add(ignoreUrlTwo); collection.Add(secureUrl); //assert Assert.Equal(1, collection.SecureUrls.Count); Assert.Equal(3, collection.Count()); }
public void Clear_ShouldEmptyAllEntriesFromCollection() { // arrange var collection = new SecureUrlCollection(); collection.AddUrl("mock/url"); collection.AddUrl("mock/url2"); // assert Assert.NotEmpty(collection); // act collection.Clear(); // assert Assert.Empty(collection); }
public void Add_WithStringAndMatchTypeParams_ShouldThrowArgumentException_WhenStringUrlIsNullOrEmpty() { // Arrange var collection = new SecureUrlCollection(); // Act // Assert Assert.Throws<ArgumentException>(() => collection.AddUrl(string.Empty, false)); Assert.Throws<ArgumentException>(() => collection.AddUrl(null, true)); }
public void Add_WithStringAndMatchTypeParams_ShouldSetMatchTypeToProvidedMatchType() { // Arrange var collection = new SecureUrlCollection(); // Act collection.AddUrl("mock/url", false); SecureUrl secureUrl = collection.First(); // Assert Assert.Equal(SecureUrlMatchType.CaseSensitive, secureUrl.MatchType); }
public void Add_WithStringAndMatchTypeParams_ShouldIncramentTotalByOne_WhenPassedValidUrlString() { // Arrange var collection = new SecureUrlCollection(); // Act collection.AddUrl("mock/url"); // Assert Assert.NotEmpty(collection); Assert.Equal(1, collection.Count()); }
public void Add_WithStringAndMatchTypeParams_ShouldSetMatchTypeToCaseInsensitive_WhenNoMatchTypeIsProvided() { // Arrange var collection = new SecureUrlCollection(); // Act collection.AddUrl("mock/url"); SecureUrl secureUrl = collection.OfType<SecureUrl>().First(); // Assert Assert.Equal(SecureUrlMatchType.CaseInsensitive, secureUrl.MatchType); }
public void IgnoreUrl_ShouldAddNewIgnoreUrlTypeToCollection() { // arrange var collection = new SecureUrlCollection(); collection.IgnoreUrl(@"test"); // act var count = collection.IgnoreUrls.Count; //assert Assert.Equal(1, count); }