def test_default_action(self): rule_set = FileRuleSet() rule_set.add_rule_by_string("exclude: size > 1024000") self.assertEqual(rule_set.test(self.file_entry), rule_set.default_action) rule_set = FileRuleSet(default_action="laf") rule_set.add_rule_by_string("exclude: size > 1024000") self.assertEqual(rule_set.test(self.file_entry), "laf")
def test_walk_tree_with_rule(self): clear_folder(self.directory_path) prepare_filetree( self.directory_path, ''' ignore/b/c:1 ignore/bb:2 include/d/e: 3 include/dd: 4 whatever_file: 5 ''') rule_set = FileRuleSet() rule_set.add_rule_by_string("ignore: name eq ignore") filetree = FileTree.from_fs(self.directory_path, rule_set=rule_set) self.assertEqual(len(filetree.files()), 3) self.assertEqual(len(filetree.folders()), 2)
def test_basic_parse(self): rule_set = FileRuleSet() rule_set.add_rule_by_string("size > 1024", "include") rule_set.add_rule_by_string("path = " + self.file_entry.pathname, "exclude") self.assertEqual(rule_set.test(self.file_entry), "exclude")
def test_basic_parse_with_quotes(self): rule_set = FileRuleSet() rule_set.add_rule_by_string("size > '1024'", "include") rule_set.add_rule_by_string( "path = \"" + self.file_entry.pathname + "\"", "exclude") self.assertEqual(rule_set.test(self.file_entry), "exclude")
def test_basic(self): rule_set = FileRuleSet() rule_set.add("size", ">", 1024, "include") rule_set.add("path", "eq", self.file_entry.pathname, "exclude") self.assertEqual(rule_set.test(self.file_entry), "exclude")