@Test public void testPublishing() { DocumentModel folder = session.createDocumentModel("/", "folder", "Folder"); folder = session.createDocument(folder); DocumentModel doc = session.createDocumentModel("/", "file", "File"); doc = session.createDocument(doc); checkVersions(doc); // publish DocumentModel proxy = session.publishDocument(doc, folder); session.save(); String versionSeriesId = doc.getVersionSeriesId(); assertFalse(proxy.isVersion()); assertTrue(proxy.isProxy()); assertTrue(proxy.hasFacet(FacetNames.IMMUTABLE)); assertTrue(proxy.isImmutable()); assertEquals(versionSeriesId, proxy.getVersionSeriesId()); assertNotSame(versionSeriesId, proxy.getId()); assertEquals("0.1", proxy.getVersionLabel()); assertNull(proxy.getCheckinComment()); assertFalse(proxy.isMajorVersion()); assertTrue(proxy.isLatestVersion()); assertFalse(proxy.isLatestMajorVersion()); checkVersions(doc, "0.1"); VersionModel lastVersion = session.getLastVersion(doc.getRef()); assertNotNull(lastVersion); assertEquals("0.1", lastVersion.getLabel()); DocumentModel lastVersionDocument = session.getLastDocumentVersion(doc.getRef()); assertNotNull(lastVersionDocument); assertEquals("file", lastVersionDocument.getName()); }
@Test public void testPublishingAfterVersionDelete() { DocumentModel folder = session.createDocumentModel("/", "folder", "Folder"); folder = session.createDocument(folder); DocumentModel doc = session.createDocumentModel("/", "file", "File"); doc = session.createDocument(doc); checkVersions(doc); VersionModel lastVersion = session.getLastVersion(doc.getRef()); assertNull(lastVersion); DocumentModel lastVersionDocument = session.getLastDocumentVersion(doc.getRef()); assertNull(lastVersionDocument); // publish DocumentModel proxy = session.publishDocument(doc, folder); checkVersions(doc, "0.1"); lastVersion = session.getLastVersion(doc.getRef()); assertNotNull(lastVersion); assertEquals("0.1", lastVersion.getLabel()); lastVersionDocument = session.getLastDocumentVersion(doc.getRef()); assertNotNull(lastVersionDocument); assertEquals("file", lastVersionDocument.getName()); // unpublish session.removeDocument(proxy.getRef()); // delete the version List<VersionModel> versions = session.getVersionsForDocument(doc.getRef()); assertEquals(1, versions.size()); DocumentModel docVersion = session.getDocumentWithVersion(doc.getRef(), versions.get(0)); session.removeDocument(docVersion.getRef()); checkVersions(doc); lastVersion = session.getLastVersion(doc.getRef()); assertNull(lastVersion); lastVersionDocument = session.getLastDocumentVersion(doc.getRef()); assertNull(lastVersionDocument); // republish DocumentModel newProxy = session.publishDocument(doc, folder); checkVersions(doc, "0.2"); lastVersion = session.getLastVersion(doc.getRef()); assertNotNull(lastVersion); assertEquals("0.2", lastVersion.getLabel()); lastVersionDocument = session.getLastDocumentVersion(doc.getRef()); assertNotNull(lastVersionDocument); assertEquals("file", lastVersionDocument.getName()); }