def test_givenRuleWithPeriod_whenMatchingRule_thenTreatAsLiteralPeriod(self): rule = FilteringRule("/users.hello", []) self.assertTrue(rule.matches("/users.hello")) self.assertFalse(rule.matches("/users_hello"))
def test_givenRegexString_whenMatchingRule_thenUseRegexpAsIs(self): rule = FilteringRule("", [], regex_pattern=r"^/users/.*/delete$") self.assertTrue(rule.matches("/users/foo/delete")) self.assertFalse(rule.matches("/users/foo"))
def test_givenTrailingWildcardPattern_whenMatchingRule_thenMatchForAllPathsWhichStartWithPrefix(self): rule = FilteringRule("/users/*", []) self.assertTrue(rule.matches("/users/foo/bar")) self.assertFalse(rule.matches("/users"))
def test_givenSpecificPath_whenMatchingRule_thenPathMustMatchRuleExactly(self): rule = FilteringRule("/users", []) self.assertTrue(rule.matches("/users")) self.assertFalse(rule.matches("/users/foobar"))
def test_givenWildcardPattern_thenMatchAnyLevelsOfDepth(self): rule = FilteringRule("/users/*/delete", []) self.assertTrue(rule.matches("/users/foo/bar/delete")) self.assertFalse(rule.matches("/users/foo/bar")) self.assertFalse(rule.matches("/users"))