def testListChildren(self): folders, files = gen_bunch_of_nodes(25) sync.insert_nodes(files + folders) children = query.list_children(folders[0]['id'], recursive=True, trash=True) self.assertEqual(sum(1 for _ in children), len(files + folders) - 1)
def testTree(self, print_): db.init(path) files, folders = gen_bunch_of_nodes(50) sync.insert_nodes(files + folders) sys.argv.extend(['tree', '-t']) self.assertEqual(run_main(), None) self.assertEqual(len(print_.mock_calls), 51)
def testTree(self, print_): db.init(path) files, folders = gen_bunch_of_nodes(50) sync.insert_nodes(files + folders) sys.argv.extend(['tree', '-t']) self.assertEqual(run_main(), None) self.assertEqual(len(print_.mock_calls), 100)
def testList(self, print_): db.init(path) folder = gen_folder([]) files = [gen_file([folder]) for _ in range(50)] sync.insert_nodes(files + [folder]) sys.argv.extend(['ls', '-t', '/']) self.assertEqual(run_main(), None) self.assertEqual(len(print_.mock_calls), 50)
def testList(self, print_): db.init(path) folder = gen_folder([]) files = [gen_file([folder]) for _ in range(50)] sync.insert_nodes(files + [folder]) sys.argv.extend(['ls', '-t', '/']) self.assertEqual(run_main(), None) self.assertEqual(len(print_.mock_calls), 100)
def testMultiParentNode(self): root = gen_folder() folder = gen_folder([root]) file = gen_file([root]) file['parents'].append(folder['id']) self.assertEqual(len(file['parents']), 2) sync.insert_nodes([root, folder, file]) self.assertEqual(query.get_node_count(), 3) self.assertEqual(query.get_node(file['id']).parents.__len__(), 2)
def testPurge(self): root = gen_folder() file = gen_file([root]) sync.insert_nodes([root, file]) self.assertEqual(query.get_node_count(), 2) self.assertIsInstance(query.get_node(file['id']), db.File) sync.remove_purged([file['id']]) self.assertIsNone(query.get_node(file['id'])) self.assertEqual(query.get_node_count(), 1)
def testFileMovement(self): root = gen_folder() folder = gen_folder([root]) self.assertNotEqual(root['id'], folder['id']) file = gen_file([root]) sync.insert_nodes([root, file]) n = query.get_node(file['id']) self.assertEqual(n.parents[0].id, root['id']) file['parents'] = [folder['id']] sync.insert_nodes([folder, file]) self.assertEqual(n.parents[0].id, folder['id']) self.assertEqual(len(n.parents), 1) self.assertEqual(query.get_node_count(), 3)
def sync_node_list(full=False): cp = sync.get_checkpoint() try: nodes, purged, ncp, full = metadata.get_changes(checkpoint=None if full else cp, include_purged=not full) except RequestError as e: logger.critical('Sync failed.') print(e) return 1 if full: db.drop_all() db.init(CACHE_PATH) else: sync.remove_purged(purged) if len(nodes) > 0: sync.insert_nodes(nodes) sync.set_checkpoint(ncp) return
def sync_node_list(full=False): cp = sync.get_checkpoint() try: nodes, purged, ncp, full = metadata.get_changes( checkpoint=None if full else cp, include_purged=not full) except RequestError as e: logger.critical('Sync failed.') print(e) return 1 if full: db.drop_all() db.init(CACHE_PATH) else: sync.remove_purged(purged) if len(nodes) > 0: sync.insert_nodes(nodes) sync.set_checkpoint(ncp) return
def testCheckCacheNonEmpty(self): folder = gen_folder() sync.insert_nodes([folder]) sys.argv.extend(['ls', '/']) self.assertEqual(run_main(), None)
def testCheckCacheNonEmpty(self): db.init(path) folder = gen_folder() sync.insert_nodes([folder]) sys.argv.extend(['ls', '/']) self.assertEqual(run_main(), None)
def testCalculateUsage(self): folders, files = gen_bunch_of_nodes(50) sync.insert_nodes(folders + files) ttlsz = sum(f['contentProperties']['size'] for f in files) self.assertEqual(query.calculate_usage(), ttlsz)
def testInit(self): sys.argv.append('init') sync.insert_nodes([gen_folder()]) self.assertEqual(run_main(), None)