public void LoadRulesCaseIsUnimportant() { var loader = new CSVConfigLoader(GetTestDataFile("csv1-case.txt"), GetTestDataFile("whitelist1-case.txt")); var rules = loader.LoadRateLimitRules().ToArray(); Assert.AreEqual(10, rules.Length, "Not 10 rules"); Assert.AreEqual(HttpVerb.Post, rules[0].Method, "Rule[0] method not Post"); }
public void LoadRulesIgnoresBlankLines() { var loader = new CSVConfigLoader(GetTestDataFile("csv1-blanklines.txt"), GetTestDataFile("whitelist1-blanklines.txt")); var rules = loader.LoadRateLimitRules().ToArray(); Assert.AreEqual(10, rules.Length, "Not 10 rules"); var whitelist = loader.LoadWhitelist().ToArray(); Assert.AreEqual(2, whitelist.Length, "Not 2 rules"); }
public void LoadRulesIgnoresWhitespace() { var loader = new CSVConfigLoader(GetTestDataFile("csv1-whitespace.txt"), GetTestDataFile("whitelist1-whitespace.txt")); var rules = loader.LoadRateLimitRules().ToArray(); Assert.AreEqual(10, rules.Length, "Not 10 rules"); var whitelist = loader.LoadWhitelist().ToArray(); Assert.AreEqual(2, whitelist.Length, "Not 2 rules"); Assert.AreEqual("192.168.1.1", whitelist[0]); }
public void LoadRulesMissingPerUnitsAreZero() { var loader = new CSVConfigLoader(GetTestDataFile("csv2.txt"), GetTestDataFile("whitelist1.txt")); var rules = loader.LoadRateLimitRules().ToArray(); Assert.AreEqual(3, rules.Length, "Not 3 rules"); Assert.AreEqual(0, rules[0].RequestsPerMinute, "Rule[0] per min not 0"); Assert.AreEqual(30, rules[0].RequestsPerHour, "Rule[0] per hour not 30"); Assert.AreEqual(100, rules[0].RequestsPerDay, "Rule[0] per day not 100"); Assert.AreEqual(2, rules[1].RequestsPerMinute, "Rule[1] per min not 2"); Assert.AreEqual(0, rules[1].RequestsPerHour, "Rule[1] per hour not 0"); Assert.AreEqual(50, rules[1].RequestsPerDay, "Rule[1] per day not 50"); Assert.AreEqual(2, rules[2].RequestsPerMinute, "Rule[2] per min not 2"); Assert.AreEqual(30, rules[2].RequestsPerHour, "Rule[2] per hour not 30"); Assert.AreEqual(0, rules[2].RequestsPerDay, "Rule[2] per day not 0"); }
public void LoadRulesWithTooFewColumnsRaisesArgumentException() { var loader = new CSVConfigLoader(GetTestDataFile("csv4.txt"), GetTestDataFile("whitelist1.txt")); var rules = loader.LoadRateLimitRules().ToArray(); }
public void LoadRulesCommentsAtEndAreOkay() { var loader = new CSVConfigLoader(GetTestDataFile("csv3.txt"), GetTestDataFile("whitelist3.txt")); var rules = loader.LoadRateLimitRules().ToArray(); }
public void LoadRulesWithInvalidIntegerForPerUnitRequestsRaisesArgumentException() { var loader = new CSVConfigLoader(GetTestDataFile("csv7.txt"), GetTestDataFile("whitelist1.txt")); var rules = loader.LoadRateLimitRules().ToArray(); }