@Test public void testSoftDeleteMax() throws Exception { Session session = repository.getConnection(); Node root = session.getRootNode(); Node folder = session.addChildNode(root, "folder", null, "TestDoc", false); for (int i = 0; i < 10; i++) { session.addChildNode(folder, "doc" + i, null, "TestDoc", false); } session.save(); session.removeNode(folder); session.save(); RepositoryManagement repoMgmt = RepositoryResolver.getRepository(repository.getName()); assertEquals(1, repoMgmt.cleanupDeletedDocuments(1, null)); assertEquals(3, repoMgmt.cleanupDeletedDocuments(3, null)); assertEquals(7, repoMgmt.cleanupDeletedDocuments(0, null)); }
@Test public void testSoftDelete() throws Exception { Session session = repository.getConnection(); Node root = session.getRootNode(); Node folder1 = session.addChildNode(root, "folder1", null, "TestDoc", false); Node folder2 = session.addChildNode(root, "folder2", null, "TestDoc", false); Node folder3 = session.addChildNode(root, "folder3", null, "TestDoc", false); Node folder4 = session.addChildNode(folder1, "folder4", null, "TestDoc", false); session.addChildNode(folder4, "folder5", null, "TestDoc", false); // create node in folder1 Node node = session.addChildNode(folder1, "node", null, "TestDoc", false); // create version Node ver = session.checkIn(node, "foolab1", "desc1"); // create proxy2 in folder2 session.addProxy(ver.getId(), node.getId(), folder2, "proxy2", null); // create proxy3 in folder3 session.addProxy(ver.getId(), node.getId(), folder3, "proxy3", null); // remove folder2 and contained proxy session.removeNode(folder2); // remove version session.removeNode(ver); // remove folder4 and contained folder5 session.removeNode(folder4); RepositoryManagement repoMgmt = RepositoryResolver.getRepository(repository.getName()); assertEquals(5, repoMgmt.cleanupDeletedDocuments(0, null)); }
@Test public void testSoftDeleteCutoff() throws Exception { Session session = repository.getConnection(); Node root = session.getRootNode(); Node folder1 = session.addChildNode(root, "folder1", null, "TestDoc", false); Node node = session.addChildNode(folder1, "node", null, "TestDoc", false); // test date cutoff for cleanup session.removeNode(node); Thread.sleep(2000); Calendar cutoff = Calendar.getInstance(); Thread.sleep(2000); session.removeNode(folder1); RepositoryManagement repoMgmt = RepositoryResolver.getRepository(repository.getName()); assertEquals(1, repoMgmt.cleanupDeletedDocuments(0, cutoff)); assertEquals(1, repoMgmt.cleanupDeletedDocuments(0, null)); }