@Test public void deleteAttachment() throws IOException, GitAPIException { register(globalRepoManager.createProjectCentralRepository(PROJECT, USER)); ILockedRepository repo = globalRepoManager.createProjectBranchRepository(PROJECT, BRANCH_1, null); register(repo); saveRandomPage(BRANCH_1, PAGE); Page attachment = Page.fromData(new byte[] {1, 2, 3}, "application/octet-stream"); // $NON-NLS-1$ pageStore.saveAttachment(PROJECT, BRANCH_1, PAGE, "test.dat", attachment, USER); // $NON-NLS-1$ assertFalse(pageStore.listPageAttachments(PROJECT, BRANCH_1, PAGE).isEmpty()); File pageFile = new File( new File(new File(RepositoryUtil.getWorkingDir(repo.r()), "attachments"), PAGE), "test.dat.page"); //$NON-NLS-1$ //$NON-NLS-2$ File metaFile = new File( new File(new File(RepositoryUtil.getWorkingDir(repo.r()), "attachments"), PAGE), "test.dat.meta"); //$NON-NLS-1$ //$NON-NLS-2$ assertTrue(pageFile.exists()); assertTrue(metaFile.exists()); pageStore.deleteAttachment(PROJECT, BRANCH_1, PAGE, "test.dat", USER); // $NON-NLS-1$ assertTrue(pageStore.listPageAttachments(PROJECT, BRANCH_1, PAGE).isEmpty()); assertFalse(pageFile.exists()); assertFalse(metaFile.exists()); assertClean(repo.r()); }
@Test public void listPageAttachments() throws IOException, GitAPIException { register(globalRepoManager.createProjectCentralRepository(PROJECT, USER)); register(globalRepoManager.createProjectBranchRepository(PROJECT, BRANCH_1, null)); saveRandomPage(BRANCH_1, "foo/bar/baz"); // $NON-NLS-1$ saveRandomPage(BRANCH_1, "foo/bar/baz/qux"); // $NON-NLS-1$ Page attachment = Page.fromData(new byte[] {1, 2, 3}, "application/octet-stream"); // $NON-NLS-1$ pageStore.saveAttachment( PROJECT, BRANCH_1, "foo/bar/baz", "test.dat", attachment, USER); //$NON-NLS-1$ //$NON-NLS-2$ pageStore.saveAttachment( PROJECT, BRANCH_1, "foo/bar/baz/qux", "test2.dat", attachment, USER); //$NON-NLS-1$ //$NON-NLS-2$ List<String> attachments = pageStore.listPageAttachments(PROJECT, BRANCH_1, "foo/bar/baz"); // $NON-NLS-1$ assertEquals(1, attachments.size()); assertTrue(attachments.contains("test.dat")); // $NON-NLS-1$ attachments = pageStore.listPageAttachments(PROJECT, BRANCH_1, "foo/bar/baz/qux"); // $NON-NLS-1$ assertEquals(1, attachments.size()); assertTrue(attachments.contains("test2.dat")); // $NON-NLS-1$ }