package com.constellio.model.services.contents;
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
import java.io.InputStream;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.LocalDateTime;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import com.constellio.model.entities.records.Content;
import com.constellio.model.entities.records.ContentVersion;
import com.constellio.model.entities.records.wrappers.User;
import com.constellio.model.utils.Lazy;
import com.constellio.sdk.tests.ConstellioTest;
public class ContentFactoryTest extends ConstellioTest {
String aliceId = "aliceId";
String bobId = "bobId";
String charlesId = "charlesId";
String dakotaId = "dakotaId";
@Mock User alice;
@Mock User bob;
@Mock User charles;
@Mock User dakota;
@Mock InputStream inputStream;
LocalDateTime meetingOClock = new LocalDateTime(2012, 11, 4, 1, 2, 3);
LocalDateTime shishOClock = meetingOClock.minusHours(2);
LocalDateTime teaOClock = shishOClock.minusHours(1);
LocalDateTime tockOClock = teaOClock.minusHours(1);
LocalDateTime sushiOClock = tockOClock.minusHours(1);
ContentVersion currentVersion, currentCOVersion;
ContentVersion firstVersion;
ContentVersion secondVersion;
ContentVersion sameInfoAsCurrentVersion;
ContentVersion sameInfoAsCurrentVersion2;
ContentVersion differentInfoFromCurrentVersion;
ContentVersion sameInfoAsCurrentVersion3;
Content content, emptyContent, sameInfoAsCurrentContent;
long zeLength1;
long zeLength2;
long zeLength3;
long zeCOLength3;
private ContentFactory factory = new ContentFactory();
@Before
public void setUp()
throws Exception {
currentVersion = new ContentVersion(new ContentVersionDataSummary("zeHash", "zeMime3", zeLength3), "zeFileName_3.pdf",
"1.0", charlesId, teaOClock, "commentOf\nVersion::1.0");
currentCOVersion = new ContentVersion(new ContentVersionDataSummary("zeCOHash", "zeCOMime3", zeCOLength3),
"zeCOFileName_3.pdf", "1.1", dakotaId, sushiOClock, "commentOf::CheckedOutVersion");
firstVersion = new ContentVersion(new ContentVersionDataSummary("ze1stHash", "zeMime1", zeLength1), "zeFileName_1.pdf",
"0.1", aliceId, meetingOClock, "comment:Of\n\rVersion0.1");
secondVersion = new ContentVersion(new ContentVersionDataSummary("ze2ndHash", "zeMime2", zeLength2), "zeFileName_2.pdf",
"0.2", bobId, shishOClock, null);
sameInfoAsCurrentVersion = new ContentVersion(new ContentVersionDataSummary("zeHash", "zeMime3", zeLength3), "zeFileName_3.pdf",
"0.1", charlesId, teaOClock, "commentOf\nVersion::0.1");
sameInfoAsCurrentVersion2 = new ContentVersion(new ContentVersionDataSummary("zeHash", "zeMime3", zeLength3), "zeFileName_3.pdf",
"0.2", charlesId, teaOClock, "commentOf\nVersion::0.2");
differentInfoFromCurrentVersion = new ContentVersion(new ContentVersionDataSummary("ze2ndHash", "zeMime2", zeLength2), "zeFileName_2.pdf",
"0.3", bobId, shishOClock, null);
sameInfoAsCurrentVersion3 = new ContentVersion(new ContentVersionDataSummary("zeHash", "zeMime3", zeLength3), "zeFileName_3.pdf",
"0.4", charlesId, teaOClock, "commentOf\nVersion::0.4");
content = new ContentImpl("zeContent", currentVersion, lazy(firstVersion, secondVersion), currentCOVersion, tockOClock,
dakotaId, false);
emptyContent = new ContentImpl("zeContent", currentVersion, lazy(firstVersion, secondVersion), currentCOVersion,
tockOClock, dakotaId, true);
sameInfoAsCurrentContent = new ContentImpl("zeContent", currentVersion, lazy(sameInfoAsCurrentVersion, sameInfoAsCurrentVersion2, differentInfoFromCurrentVersion, sameInfoAsCurrentVersion3), currentCOVersion, tockOClock,
dakotaId, false);
when(alice.getId()).thenReturn(aliceId);
when(bob.getId()).thenReturn(bobId);
when(charles.getId()).thenReturn(charlesId);
when(dakota.getId()).thenReturn(dakotaId);
}
@Test
public void givenContentInfoConvertedBetweenStringAndObjectThenValueIsConserved() {
String text = factory.toString(content);
Content content2 = (Content) factory.build(text);
String text2 = factory.toString(content2);
System.out.println(text);
assertThat(content2.getHistoryVersions()).hasSize(2);
assertThat(content2.getId()).isEqualTo("zeContent");
assertThat(content2.isEmptyVersion()).isFalse();
assertThat(content2.getCurrentVersion().getHash()).isEqualTo("zeHash");
assertThat(content2.getCurrentCheckedOutVersion().getHash()).isEqualTo("zeCOHash");
assertThat(content2.getHistoryVersions().get(0).getHash()).isEqualTo("ze1stHash");
assertThat(content2.getHistoryVersions().get(1).getHash()).isEqualTo("ze2ndHash");
assertThat(content2.getCurrentVersion().getFilename()).isEqualTo("zeFileName_3.pdf");
assertThat(content2.getCurrentCheckedOutVersion().getFilename()).isEqualTo("zeCOFileName_3.pdf");
assertThat(content2.getHistoryVersions().get(0).getFilename()).isEqualTo("zeFileName_1.pdf");
assertThat(content2.getHistoryVersions().get(1).getFilename()).isEqualTo("zeFileName_2.pdf");
assertThat(content2.getCurrentVersion().getMimetype()).isEqualTo("zeMime3");
assertThat(content2.getCurrentCheckedOutVersion().getMimetype()).isEqualTo("zeCOMime3");
assertThat(content2.getHistoryVersions().get(0).getMimetype()).isEqualTo("zeMime1");
assertThat(content2.getHistoryVersions().get(1).getMimetype()).isEqualTo("zeMime2");
assertThat(content2.getCurrentVersion().getLength()).isEqualTo(zeLength3);
assertThat(content2.getCurrentCheckedOutVersion().getLength()).isEqualTo(zeCOLength3);
assertThat(content2.getHistoryVersions().get(0).getLength()).isEqualTo(zeLength1);
assertThat(content2.getHistoryVersions().get(1).getLength()).isEqualTo(zeLength2);
assertThat(content2.getCurrentVersion().getVersion()).isEqualTo("1.0");
assertThat(content2.getCurrentCheckedOutVersion().getVersion()).isEqualTo("1.1");
assertThat(content2.getHistoryVersions().get(0).getVersion()).isEqualTo("0.1");
assertThat(content2.getHistoryVersions().get(1).getVersion()).isEqualTo("0.2");
assertThat(content2.getCurrentVersion().getModifiedBy()).isEqualTo(charlesId);
assertThat(content2.getCurrentCheckedOutVersion().getModifiedBy()).isEqualTo(dakotaId);
assertThat(content2.getHistoryVersions().get(0).getModifiedBy()).isEqualTo(aliceId);
assertThat(content2.getHistoryVersions().get(1).getModifiedBy()).isEqualTo(bobId);
assertThat(content2.getCurrentVersion().getLastModificationDateTime()).isEqualTo(teaOClock);
assertThat(content2.getCurrentCheckedOutVersion().getLastModificationDateTime()).isEqualTo(sushiOClock);
assertThat(content2.getHistoryVersions().get(0).getLastModificationDateTime()).isEqualTo(meetingOClock);
assertThat(content2.getHistoryVersions().get(1).getLastModificationDateTime()).isEqualTo(shishOClock);
assertThat(content2.getCurrentVersion().getComment()).isEqualTo("commentOf\nVersion::1.0");
assertThat(content2.getCurrentCheckedOutVersion().getComment()).isEqualTo("commentOf::CheckedOutVersion");
assertThat(content2.getHistoryVersions().get(0).getComment()).isEqualTo("comment:Of\n\rVersion0.1");
assertThat(content2.getHistoryVersions().get(1).getComment()).isEqualTo(null);
assertThat(content2.getCheckoutDateTime()).isEqualTo(tockOClock);
assertThat(content2.getCheckoutUserId()).isEqualTo(dakotaId);
assertThat(text2).isEqualTo(text);
}
@Test
public void givenLegacyContentStringWithoutContentWhenReadThenCorrectValues()
throws Exception {
String legacyContentStringValue = "zeContent::cf=zeFileName_3.pdf::co=true::"
+ "f=zeFileName_3.pdf:h=zeHash:l=0:m=zeMime3:u=charlesId:t=1351994523000:v=1.0::"
+ "f=zeCOFileName_3.pdf:h=zeCOHash:l=0:m=zeCOMime3:u=dakotaId:t=1351987323000:v=1.1::dakotaId::1351990923000::"
+ "f=zeFileName_1.pdf:h=ze1stHash:l=0:m=zeMime1:u=aliceId:t=1352005323000:v=0.1::"
+ "f=zeFileName_2.pdf:h=ze2ndHash:l=0:m=zeMime2:u=bobId:t=1351998123000:v=0.2::";
Content content = (Content) factory.build(legacyContentStringValue);
assertThat(content.getHistoryVersions()).hasSize(2);
assertThat(content.getId()).isEqualTo("zeContent");
assertThat(content.isEmptyVersion()).isFalse();
assertThat(content.getCurrentVersion().getComment()).isNull();
assertThat(content.getCurrentVersion().getHash()).isEqualTo("zeHash");
assertThat(content.getCurrentCheckedOutVersion().getHash()).isEqualTo("zeCOHash");
assertThat(content.getHistoryVersions().get(0).getHash()).isEqualTo("ze1stHash");
assertThat(content.getHistoryVersions().get(1).getHash()).isEqualTo("ze2ndHash");
assertThat(content.getCurrentVersion().getFilename()).isEqualTo("zeFileName_3.pdf");
assertThat(content.getCurrentCheckedOutVersion().getFilename()).isEqualTo("zeCOFileName_3.pdf");
assertThat(content.getHistoryVersions().get(0).getFilename()).isEqualTo("zeFileName_1.pdf");
assertThat(content.getHistoryVersions().get(1).getFilename()).isEqualTo("zeFileName_2.pdf");
assertThat(content.getCurrentVersion().getMimetype()).isEqualTo("zeMime3");
assertThat(content.getCurrentCheckedOutVersion().getMimetype()).isEqualTo("zeCOMime3");
assertThat(content.getHistoryVersions().get(0).getMimetype()).isEqualTo("zeMime1");
assertThat(content.getHistoryVersions().get(1).getMimetype()).isEqualTo("zeMime2");
assertThat(content.getCurrentVersion().getLength()).isEqualTo(zeLength3);
assertThat(content.getCurrentCheckedOutVersion().getLength()).isEqualTo(zeCOLength3);
assertThat(content.getHistoryVersions().get(0).getLength()).isEqualTo(zeLength1);
assertThat(content.getHistoryVersions().get(1).getLength()).isEqualTo(zeLength2);
assertThat(content.getCurrentVersion().getVersion()).isEqualTo("1.0");
assertThat(content.getCurrentCheckedOutVersion().getVersion()).isEqualTo("1.1");
assertThat(content.getHistoryVersions().get(0).getVersion()).isEqualTo("0.1");
assertThat(content.getHistoryVersions().get(1).getVersion()).isEqualTo("0.2");
assertThat(content.getCurrentVersion().getModifiedBy()).isEqualTo(charlesId);
assertThat(content.getCurrentCheckedOutVersion().getModifiedBy()).isEqualTo(dakotaId);
assertThat(content.getHistoryVersions().get(0).getModifiedBy()).isEqualTo(aliceId);
assertThat(content.getHistoryVersions().get(1).getModifiedBy()).isEqualTo(bobId);
assertThat(content.getCurrentVersion().getLastModificationDateTime()).isEqualTo(teaOClock);
assertThat(content.getCurrentCheckedOutVersion().getLastModificationDateTime()).isEqualTo(sushiOClock);
assertThat(content.getHistoryVersions().get(0).getLastModificationDateTime()).isEqualTo(meetingOClock);
assertThat(content.getHistoryVersions().get(1).getLastModificationDateTime()).isEqualTo(shishOClock);
assertThat(content.getCurrentVersion().getComment()).isNull();
assertThat(content.getCurrentCheckedOutVersion().getComment()).isNull();
assertThat(content.getHistoryVersions().get(0).getComment()).isNull();
assertThat(content.getHistoryVersions().get(1).getComment()).isNull();
assertThat(content.getCheckoutDateTime()).isEqualTo(tockOClock);
assertThat(content.getCheckoutUserId()).isEqualTo(dakotaId);
}
@Test
public void testName()
throws Exception {
//
// String text = "v2:00000428003::cf=avis-maintien(2).pdf::co=false::f=avis-maintien(2).pdf:h=RlShqsrHHvujQPFsbPIfmqwDBNg=:l=7819:m=application/pdf:u=00000000004:t=1445750306560:v=0.4:::null::null::null::f=Avis de maintien de permis 2010-2011.pdf:h=RlShqsrHHvujQPFsbPIfmqwDBNg=:l=7819:m=application/pdf:u=00000000004:t=1445750306559:v=0.1:::f=Avis de maintien de permis 2010-2011.pdf:h=RlShqsrHHvujQPFsbPIfmqwDBNg=:l=7819:m=application/pdf:u=00000000004:t=1445750306560:v=0.2:::f=Avis de maintien de permis 2010-2011.pdf:h=RlShqsrHHvujQPFsbPIfmqwDBNg=:l=7819:m=application/pdf:u=00000000004:t=1445750306560:v=0.3:::";
// Content content = (Content) factory.build(text);
}
@Test
public void givenEmptyContentInfoConvertedBetweenStringAndObjectThenValueIsConserved() {
String text = factory.toString(emptyContent);
Content content2 = (Content) factory.build(text);
String text2 = factory.toString(content2);
assertThat(content2.getHistoryVersions()).hasSize(2);
assertThat(content2.getId()).isEqualTo("zeContent");
assertThat(content2.isEmptyVersion()).isTrue();
assertThat(content2.getCurrentVersion().getHash()).isEqualTo("zeHash");
assertThat(content2.getCurrentCheckedOutVersion().getHash()).isEqualTo("zeCOHash");
assertThat(content2.getHistoryVersions().get(0).getHash()).isEqualTo("ze1stHash");
assertThat(content2.getHistoryVersions().get(1).getHash()).isEqualTo("ze2ndHash");
assertThat(content2.getCurrentVersion().getFilename()).isEqualTo("zeFileName_3.pdf");
assertThat(content2.getCurrentCheckedOutVersion().getFilename()).isEqualTo("zeCOFileName_3.pdf");
assertThat(content2.getHistoryVersions().get(0).getFilename()).isEqualTo("zeFileName_1.pdf");
assertThat(content2.getHistoryVersions().get(1).getFilename()).isEqualTo("zeFileName_2.pdf");
assertThat(content2.getCurrentVersion().getMimetype()).isEqualTo("zeMime3");
assertThat(content2.getCurrentCheckedOutVersion().getMimetype()).isEqualTo("zeCOMime3");
assertThat(content2.getHistoryVersions().get(0).getMimetype()).isEqualTo("zeMime1");
assertThat(content2.getHistoryVersions().get(1).getMimetype()).isEqualTo("zeMime2");
assertThat(content2.getCurrentVersion().getLength()).isEqualTo(zeLength3);
assertThat(content2.getCurrentCheckedOutVersion().getLength()).isEqualTo(zeCOLength3);
assertThat(content2.getHistoryVersions().get(0).getLength()).isEqualTo(zeLength1);
assertThat(content2.getHistoryVersions().get(1).getLength()).isEqualTo(zeLength2);
assertThat(content2.getCurrentVersion().getVersion()).isEqualTo("1.0");
assertThat(content2.getCurrentCheckedOutVersion().getVersion()).isEqualTo("1.1");
assertThat(content2.getHistoryVersions().get(0).getVersion()).isEqualTo("0.1");
assertThat(content2.getHistoryVersions().get(1).getVersion()).isEqualTo("0.2");
assertThat(content2.getCurrentVersion().getModifiedBy()).isEqualTo(charlesId);
assertThat(content2.getCurrentCheckedOutVersion().getModifiedBy()).isEqualTo(dakotaId);
assertThat(content2.getHistoryVersions().get(0).getModifiedBy()).isEqualTo(aliceId);
assertThat(content2.getHistoryVersions().get(1).getModifiedBy()).isEqualTo(bobId);
assertThat(content2.getCurrentVersion().getLastModificationDateTime()).isEqualTo(teaOClock);
assertThat(content2.getCurrentCheckedOutVersion().getLastModificationDateTime()).isEqualTo(sushiOClock);
assertThat(content2.getHistoryVersions().get(0).getLastModificationDateTime()).isEqualTo(meetingOClock);
assertThat(content2.getHistoryVersions().get(1).getLastModificationDateTime()).isEqualTo(shishOClock);
assertThat(content2.getCheckoutDateTime()).isEqualTo(tockOClock);
assertThat(content2.getCheckoutUserId()).isEqualTo(dakotaId);
assertThat(text2).isEqualTo(text);
}
@Test
public void givenContentInfoConvertedToStringThenCanFindTheFilenames() {
String text = factory.toString(content);
assertThat(text).contains(ContentFactory.isFilename("zeFileName_1.pdf").getText());
assertThat(text).contains(ContentFactory.isFilename("zeFileName_2.pdf").getText());
assertThat(text).contains(ContentFactory.isFilename("zeFileName_3.pdf").getText());
assertThat(text).contains(ContentFactory.isFilename("zeCOFileName_3.pdf").getText());
assertThat(text).doesNotContain(ContentFactory.isFilename("zeFileName_1").getText());
assertThat(text).doesNotContain(ContentFactory.isFilename("zeFileName_2").getText());
assertThat(text).doesNotContain(ContentFactory.isFilename("zeFileName_3").getText());
assertThat(text).doesNotContain(ContentFactory.isFilename("zeCOFileName_3").getText());
assertThat(text).doesNotContain(ContentFactory.isFilename("FileName_1.pdf").getText());
assertThat(text).doesNotContain(ContentFactory.isFilename("FileName_2.pdf").getText());
assertThat(text).doesNotContain(ContentFactory.isFilename("FileName_3.pdf").getText());
assertThat(text).doesNotContain(ContentFactory.isFilename("COFileName_3.pdf").getText());
assertThat(text).doesNotContain(ContentFactory.isCurrentFilename("zeFileName_1.pdf").getText());
assertThat(text).doesNotContain(ContentFactory.isCurrentFilename("zeFileName_2.pdf").getText());
assertThat(text).contains(ContentFactory.isCurrentFilename("zeFileName_3.pdf").getText());
assertThat(text).doesNotContain(ContentFactory.isCurrentFilename("zeCOFileName_3.pdf").getText());
}
@Test
public void givenContentInfoConvertedToStringThenCanFindTheFilenameIndependentlyOfColons()
throws Exception {
String text = factory.toString(content);
assertThat(text).contains(ContentFactory.isFilename("zeFileName_1.pdf").getText());
assertThat(text).contains(ContentFactory.isFilename("zeFileName_2.pdf").getText());
assertThat(text).contains(ContentFactory.isFilename("zeFileName_3.pdf").getText());
}
@Test
public void givenContentInfoConvertedToStringThenCanFindTheContentByBorrower()
throws Exception {
String text = factory.toString(content);
assertThat(text).contains(ContentFactory.isCheckedOutBy(dakota).getText());
assertThat(text).doesNotContain(ContentFactory.isCheckedOutBy(alice).getText());
}
@Test
public void givenContentInfoConvertedToStringThenCanFindHashInText()
throws Exception {
String text = factory.toString(content);
assertThat(text).contains(ContentFactory.isHash("zeHash").getText());
assertThat(text).contains(ContentFactory.isHash("zeCOHash").getText());
assertThat(text).contains(ContentFactory.isHash("ze1stHash").getText());
assertThat(text).contains(ContentFactory.isHash("ze2ndHash").getText());
assertThat(text).doesNotContain(ContentFactory.isHash("Hash").getText());
assertThat(text).doesNotContain(ContentFactory.isHash("COHash").getText());
assertThat(text).doesNotContain(ContentFactory.isHash("1stHash").getText());
assertThat(text).doesNotContain(ContentFactory.isHash("2ndHash").getText());
assertThat(text).doesNotContain(ContentFactory.isHash("ze").getText());
assertThat(text).doesNotContain(ContentFactory.isHash("zeCO").getText());
assertThat(text).doesNotContain(ContentFactory.isHash("ze1st").getText());
assertThat(text).doesNotContain(ContentFactory.isHash("ze2nd").getText());
}
@Test
public void givenContentInfoConvertedToStringThenCanFindMimeInText()
throws Exception {
String text = factory.toString(content);
assertThat(text).contains(ContentFactory.isMimetype("zeMime1").getText());
assertThat(text).contains(ContentFactory.isMimetype("zeMime2").getText());
assertThat(text).contains(ContentFactory.isMimetype("zeMime3").getText());
assertThat(text).contains(ContentFactory.isMimetype("zeCOMime3").getText());
assertThat(text).doesNotContain(ContentFactory.isMimetype("Mime1").getText());
assertThat(text).doesNotContain(ContentFactory.isMimetype("Mime2").getText());
assertThat(text).doesNotContain(ContentFactory.isMimetype("Mime3").getText());
assertThat(text).doesNotContain(ContentFactory.isMimetype("COMime3").getText());
assertThat(text).doesNotContain(ContentFactory.isMimetype("zeMime").getText());
}
@Test
public void givenCheckedOutContentInfoConvertedToStringThenCanFindThatItISCheckedOut()
throws Exception {
String text = factory.toString(content);
assertThat(text).contains(ContentFactory.checkedOut().getText());
text = factory.toString(content.cancelCheckOut());
assertThat(text).doesNotContain(ContentFactory.checkedOut().getText());
}
@Test
public void givenSameInfoAsCurrentVersionWhenToStringThenFoundOnce() {
String text = factory.toString(sameInfoAsCurrentContent);
assertThat(StringUtils.countMatches(text, ":f=zeFileName_3.pdf")).isEqualTo(2);
assertThat(StringUtils.countMatches(text, ":u=charlesId")).isEqualTo(2);
assertThat(StringUtils.countMatches(text, ":m=zeMime3")).isEqualTo(2);
System.out.println(text);
}
@Test
public void givenStringWithoutDuplicatedInfoWhenBuildThenInfoSetOnAllVersions() {
String text = "v2:zeContent::cf=zeFileName_3.pdf::co=true::f=zeFileName_3.pdf:h=zeHash:l=0:m=zeMime3:u=charlesId:t=1351994523000:v=1.0:commentOf\r\n" +
"Version$#$$#$1.0::f=zeCOFileName_3.pdf:h=zeCOHash:l=0:m=zeCOMime3:u=dakotaId:t=1351987323000:v=1.1:commentOf$#$$#$CheckedOutVersion::dakotaId::1351990923000::f=:h=zeHash:l=0:m=:u=:t=1351994523000:v=0.1:commentOf\r\n" +
"Version$#$$#$0.1::f=:h=zeHash:l=0:m=:u=:t=1351994523000:v=0.2:commentOf\r\n" +
"Version$#$$#$0.2::f=zeFileName_2.pdf:h=ze2ndHash:l=0:m=zeMime2:u=bobId:t=1351998123000:v=0.3:null::f=zeFileName_3.pdf:h=zeHash:l=0:m=zeMime3:u=charlesId:t=1351994523000:v=0.4:commentOf\r\n" +
"Version$#$$#$0.4::";
Content content = (Content) factory.build(text);
ContentVersion currentParsed = content.getCurrentVersion();
ContentVersion currentCOParsed = content.getCurrentCheckedOutVersion();
List<ContentVersion> historyVersions = content.getHistoryVersions();
assertThat(currentParsed.getVersion()).isEqualTo("1.0");
assertThat(currentParsed.getFilename()).isEqualTo("zeFileName_3.pdf");
assertThat(currentParsed.getModifiedBy()).isEqualTo("charlesId");
assertThat(currentParsed.getMimetype()).isEqualTo("zeMime3");
assertThat(currentCOParsed.getVersion()).isEqualTo("1.1");
assertThat(currentCOParsed.getFilename()).isEqualTo("zeCOFileName_3.pdf");
assertThat(currentCOParsed.getModifiedBy()).isEqualTo("dakotaId");
assertThat(currentCOParsed.getMimetype()).isEqualTo("zeCOMime3");
assertThat(historyVersions.size()).isEqualTo(4);
ContentVersion historyVersion1 = historyVersions.get(0);
ContentVersion historyVersion2 = historyVersions.get(1);
ContentVersion historyVersion3 = historyVersions.get(2);
ContentVersion historyVersion4 = historyVersions.get(3);
assertThat(historyVersion1.getVersion()).isEqualTo("0.1");
assertThat(historyVersion1.getFilename()).isEqualTo("zeFileName_3.pdf");
assertThat(historyVersion1.getModifiedBy()).isEqualTo("charlesId");
assertThat(historyVersion1.getMimetype()).isEqualTo("zeMime3");
assertThat(historyVersion2.getVersion()).isEqualTo("0.2");
assertThat(historyVersion2.getFilename()).isEqualTo("zeFileName_3.pdf");
assertThat(historyVersion2.getModifiedBy()).isEqualTo("charlesId");
assertThat(historyVersion2.getMimetype()).isEqualTo("zeMime3");
assertThat(historyVersion3.getVersion()).isEqualTo("0.3");
assertThat(historyVersion3.getFilename()).isEqualTo("zeFileName_2.pdf");
assertThat(historyVersion3.getModifiedBy()).isEqualTo("bobId");
assertThat(historyVersion3.getMimetype()).isEqualTo("zeMime2");
assertThat(historyVersion4.getVersion()).isEqualTo("0.4");
assertThat(historyVersion4.getFilename()).isEqualTo("zeFileName_3.pdf");
assertThat(historyVersion4.getModifiedBy()).isEqualTo("charlesId");
assertThat(historyVersion4.getMimetype()).isEqualTo("zeMime3");
}
private Lazy<List<ContentVersion>> lazy(final ContentVersion... contentVersions) {
return new Lazy<List<ContentVersion>>() {
@Override
protected List<ContentVersion> load() {
return asList(contentVersions);
}
};
}
@Test
public void TestCreateSystemFile() {
Content content = ContentImpl.createSystemContent("testFileName.jpg", new ContentVersionDataSummary("zeHash", "zeMime3", zeLength3));
assertThat(content).isNotNull();
assertThat(content.getCheckoutUserId()).isNull();
assertThat(content.getCurrentVersion().getVersion()).isEqualTo("1.0");
}
}