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
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])
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])
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])
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
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])
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])
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])
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