def test_find_node_with_relative_path_returns_None_if_node_does_not_exist(self): root = Tree('root') child = Tree('a') root.add_child(child) node = root.find_path('b') self.assertIsNone(node) node = root.find_path('/b') self.assertIsNone(node)
def test_find_with_absolute_path_with_root_node_is_defaulted_slash(self): root = Tree(root=True) a = Tree('a') root.add_child(a) b = Tree('b') a.add_child(b) node = b.find_path('/a/b') self.assertEqual(node, b)
def test_find_with_just_a_slash_returns_root_node_from_a_nested_path(self): root = Tree('root') a = Tree('a') root.add_child(a) b = Tree('b') a.add_child(b) node = b.find_path('/') self.assertEqual(node, root)
def test_find_nested_node_with_relative_path(self): root = Tree('root') a = Tree('a') root.add_child(a) b = Tree('b') a.add_child(b) node = root.find_path('a/b') self.assertEqual(node, b)
def init_tree_from_file(input_file): with open(input_file, 'r') as f: tree = PathTree(root=True) for line in f: tree.insert_path(line.strip()) node = tree.find_path(line.strip()) node.meta = { 'type': 'file', 'id': '', 'modified': '', 'size': '', 'details': 'added from file' } return tree
def get_tree(self): tree = PathTree(root=True) for response in self.contents: for entry in response.entries: tree.insert_path(entry.path_display) node = tree.find_path(entry.path_display) if isinstance(entry, dropbox.files.FileMetadata): node.meta = { 'type': 'file', 'id': entry.id, 'modified': entry.server_modified, 'size': entry.size } if isinstance(entry, dropbox.files.FolderMetadata): node.meta = { 'type': 'folder', 'id': entry.id } return tree
def test_find_with_just_a_slash_returns_root_node(self): root = Tree('root') node = root.find_path('/') self.assertEqual(node, root)
def test_find_node_with_missing_node_in_middle_of_path_returns_None(self): root = Tree('root') node = root.find_path('b/c') self.assertIsNone(node) node = root.find_path('/b/c') self.assertIsNone(node)
def test_find_node_with_relative_path(self): root = Tree('root') child = Tree('a') root.add_child(child) node = root.find_path('a') self.assertEqual(node, child)