Example #1
0
 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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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)
Example #8
0
    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)
Example #9
0
    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)
Example #10
0
    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)
Example #11
0
    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)
Example #12
0
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
Example #13
0
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
Example #14
0
 def testCheckCacheNonEmpty(self):
     folder = gen_folder()
     sync.insert_nodes([folder])
     sys.argv.extend(['ls', '/'])
     self.assertEqual(run_main(), None)
Example #15
0
 def testCheckCacheNonEmpty(self):
     db.init(path)
     folder = gen_folder()
     sync.insert_nodes([folder])
     sys.argv.extend(['ls', '/'])
     self.assertEqual(run_main(), None)
Example #16
0
 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)
Example #17
0
 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)
Example #18
0
 def testInit(self):
     sys.argv.append('init')
     sync.insert_nodes([gen_folder()])
     self.assertEqual(run_main(), None)