Esempio n. 1
0
 def make_udf(self, user=None, path=None, status=STATUS_LIVE):
     """Create a UDF node."""
     if user is None:
         user = self.make_user()
     if path is None:
         path = '~/' + self.get_unique_unicode()
     udf = UserVolume.create(self.store, user.id, path)
     udf.status = status
     return udf
Esempio n. 2
0
    def test_bootstrap_picks_up_only_live_udfs(self):
        user = self.obj_factory.make_user()
        with txlog_disabled():
            root_udf = UserVolume.get_root(self.sstore, user.id)
            live_udf = self.obj_factory.make_udf(user=user)
            live_udf2 = self.obj_factory.make_udf(user=user)
            self.obj_factory.make_udf(user=user, status=STATUS_DEAD)

        TransactionLog.bootstrap(user)

        self.assertBootstrappingPickedUpUDFs([root_udf, live_udf, live_udf2])
Esempio n. 3
0
    def test_bootstrap_picks_up_only_live_udfs(self):
        user = self.obj_factory.make_user()
        with txlog_disabled():
            root_udf = UserVolume.get_root(self.sstore, user.id)
            live_udf = self.obj_factory.make_udf(user=user)
            live_udf2 = self.obj_factory.make_udf(user=user)
            self.obj_factory.make_udf(user=user, status=STATUS_DEAD)

        TransactionLog.bootstrap(user)

        self.assertBootstrappingPickedUpUDFs([root_udf, live_udf, live_udf2])
Esempio n. 4
0
    def test_bootstrap_picks_up_only_folders_in_live_udfs(self):
        user = self.obj_factory.make_user()
        root_udf = UserVolume.get_root(self.store, user.id)
        folder_in_root = self.obj_factory.make_directory(user, root_udf.root_node, "folder1", public=True)
        dead_udf = self.obj_factory.make_udf(user=user)
        self.obj_factory.make_directory(user, dead_udf.root_node, "folder2", public=True)
        dead_udf.delete()
        self.clear_txlogs()

        TransactionLog.bootstrap(user)

        self.assertBootstrappingPickedUpFolders([folder_in_root])
Esempio n. 5
0
    def test_bootstrap_picks_up_only_files_in_live_udfs(self):
        user = self.obj_factory.make_user()
        root_udf = UserVolume.get_root(self.store, user.id)
        photo_in_root = self.obj_factory.make_file(user, root_udf.root_node, "foo.jpg", "image/jpeg")
        dead_udf = self.obj_factory.make_udf(user=user)
        self.obj_factory.make_file(user, dead_udf.root_node, "foo-in-dead-udf.jpg", "image/jpeg")
        dead_udf.delete()
        self.clear_txlogs()

        TransactionLog.bootstrap(user)

        self.assertBootstrappingPickedUpFiles([photo_in_root])
Esempio n. 6
0
 def make_directory(self, user=None, parent=None, name=None, public=False):
     """Create a folder node."""
     if user is None:
         user = self.make_user()
     if name is None:
         name = self.get_unique_unicode()
     if parent is None:
         parent = UserVolume.get_root(self.store, user.id).root_node
     subdir = parent.make_subdirectory(name)
     if public:
         publicfile = self.store.add(PublicNode(subdir.id, subdir.owner_id))
         self.store.flush()
         subdir.publicfile_id = publicfile.id
     return subdir
Esempio n. 7
0
    def test_bootstrap_picks_up_only_files_in_live_udfs(self):
        user = self.obj_factory.make_user()
        with txlog_disabled():
            root_udf = UserVolume.get_root(self.sstore, user.id)
            photo_in_root = self.obj_factory.make_file(
                user, root_udf.root_node, u'foo.jpg', u'image/jpeg')
            dead_udf = self.obj_factory.make_udf(user=user)
            self.obj_factory.make_file(
                user, dead_udf.root_node, u'foo-in-dead-udf.jpg',
                u'image/jpeg')
            dead_udf.delete()

        TransactionLog.bootstrap(user)

        self.assertBootstrappingPickedUpFiles([photo_in_root])
Esempio n. 8
0
    def test_bootstrap_picks_up_only_folders_in_live_udfs(self):
        user = self.obj_factory.make_user()
        with txlog_disabled():
            root_udf = UserVolume.get_root(self.sstore, user.id)
            folder_in_root = self.obj_factory.make_directory(
                user, root_udf.root_node, u'folder1', public=True)
            dead_udf = self.obj_factory.make_udf(user=user)
            self.obj_factory.make_directory(user,
                                            dead_udf.root_node,
                                            u'folder2',
                                            public=True)
            dead_udf.delete()

        TransactionLog.bootstrap(user)

        self.assertBootstrappingPickedUpFolders([folder_in_root])
Esempio n. 9
0
    def test_bootstrap_picks_up_only_files_in_live_udfs(self):
        user = self.obj_factory.make_user()
        with txlog_disabled():
            root_udf = UserVolume.get_root(self.sstore, user.id)
            photo_in_root = self.obj_factory.make_file(user,
                                                       root_udf.root_node,
                                                       u'foo.jpg',
                                                       u'image/jpeg')
            dead_udf = self.obj_factory.make_udf(user=user)
            self.obj_factory.make_file(user, dead_udf.root_node,
                                       u'foo-in-dead-udf.jpg', u'image/jpeg')
            dead_udf.delete()

        TransactionLog.bootstrap(user)

        self.assertBootstrappingPickedUpFiles([photo_in_root])
Esempio n. 10
0
 def make_file(self, user=None, parent=None, name=None,
               mimetype='text/plain', public=False):
     """Create a file node."""
     if user is None:
         user = self.make_user()
     if name is None:
         name = self.get_unique_unicode()
     if parent is None:
         parent = UserVolume.get_root(self.store, user.id).root_node
     f = StorageObject(
         user.id, name, StorageObject.FILE, provided_mimetype=mimetype,
         parent=parent)
     f.content = self.make_content()
     if public:
         publicfile = self.store.add(PublicNode(f.id, f.owner_id))
         self.store.flush()
         f.publicfile_id = publicfile.id
     self.store.add(f)
     return f